登录Web应用程序:最佳实践?

dpr*_*dpr 7 java logging tomcat log4j web-applications

在客户站点上部署Web应用程序(在测试环境中)期间,我们遇到了记录应用程序的问题.我将尽快描述当前的情况:

  • 实现使用java.util.logging和apache.commons.logging检索的Logger.
  • 在已部署的包中存在指向JUL的commons-logging.properties.
  • 应用程序正在Tomcat 6.x上运行

客户决定他想在tomcat上使用Log4J并配置它以便它(通常)工作 - 当然它不适用于所提到的应用程序.

看起来我们还需要更改日志记录实现 - 我想问你一些关于如何在Web应用程序中实现日志记录的最佳实践.以下事情应该是可能的:

  • 客户需要能够在不修改*.war文件中的任何内容的情况下更改日志级别. - >如果他必须修改war文件,他必须为每个新构建执行此操作...
  • 应该可以进行某种滚动文件记录(例如:每个最多10mb的最多10个文件) - 当然也应该由客户来定义和更改此设置...
  • 由于另一个客户可能希望使用标准的JUL日志记录 - 我当然更喜欢不对首选库(本例中为Log4J)进行硬编码.

Tom*_*icz 6

客户需要能够在不修改*.war文件中的任何内容的情况下更改日志级别.

您可以将日志框架配置文件(log4j.xmllogback.xml)放在WAR文件之外.此文件更改时,还支持自动重新配置.

应该可以进行某种滚动文件记录

双方和支持的logback回滚的文件,都是基于大小和日期,例如见RollingFileAppender.

由于另一个客户可能希望使用标准的JUL日志记录 - 我当然更喜欢不对首选库(本例中为Log4J)进行硬编码.

从根本上打破,使用代替.然后,您只需在CLASSPTH上添加不同的实现.此外,SLF4J API非常好.