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

问题描述 投票:0回答:1

我的 WAR 使用 log4j FileAppender,通过 WAR 内

log4j.properties
目录下的
classes/
文件配置。

我已经这样配置了我的 log4j 附加程序:

# 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

通过此配置,我试图实现以下目标:

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

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

java tomcat log4j
1个回答
51
投票

如果您知道此 WAR 只会部署到 tomcat,则可以利用系统属性

catalina.base
,它代表 Tomcat 基本文件夹的根目录(还有一个
cataline.home
,但它们通常是相同的)除非你有多个 tomcat 在同一台机器上运行并且共享服务器库,但我离题了)。

所以更新如下:

log4j.appender.MonitorAppender.File=${catalina.base}/logs/MonitorLog.log
最新问题
© www.soinside.com 2019 - 2025. All rights reserved.