如何将Tomcat日志指定为log4j日志文件的主目录

时间:2012-06-06 17:34:56

标签: java tomcat log4j

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

我已经配置了我的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/目录下

此配置是否实现了这些项目,如果没有,需要更改哪些内容?

1 个答案:

答案 0 :(得分:49)

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

所以更新如下:

log4j.appender.MonitorAppender.File=${catalina.base}/logs/MonitorLog.log