25

log4j.properties我的 WAR 正在使用通过 WAR 目录下的文件配置的 log4j FileAppender classes/

我已经这样配置了我的 log4j appender:

# Set the root logger to DEBUG.
log4j.rootLogger=DEBUG

# MonitorLog - used to log messages in the Monitor.log file.
log4j.appender.MonitorAppender=org.apache.log4j.FileAppender
log4j.appender.MonitorAppender.File=MonitorLog.log
log4j.appender.MonitorAppender.layout=org.apache.log4j.PatternLayout
log4j.appender.MonitorAppender.layout.ConversionPattern= %-4r [%t] %-5p %c %x - %m%n

# Use the MonitorAppender to log all messages.
log4j.logger.*=DEBUG,MonitorAppender

使用此配置,我试图实现以下目标:

  • 所有日志消息 DEBUG 级别和更高级别都被记录(所以一切)
  • 我希望MonitorLog.log文件位于Tomcat的logs/目录下

这个配置是否实现了这些项目,如果没有,需要改变什么?

4

1 回答 1

51

如果你知道这个 WAR 只会部署到一个 tomcat,你可以利用系统属性catalina.base,它代表你的 tomcat 基本文件夹的根目录(也有一个cataline.home,但它们通常是相同的,除非你有多个 tomcat 运行在同一台机器并且共享服务器库,但我离题了)。

所以更新如下:

log4j.appender.MonitorAppender.File=${catalina.base}/logs/MonitorLog.log
于 2012-06-06T17:39:23.193 回答