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

2022-09-01 18:32:01

我的 WAR 正在使用通过 WAR 内部目录下的文件配置的 log4j FileAppender。log4j.propertiesclasses/

我已经将我的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

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

  • 所有日志消息 DEBUG 级别和更高级别都会被记录(因此所有内容)
  • 我希望文件位于 Tomcat 的目录下MonitorLog.loglogs/

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


答案 1

如果您知道此 WAR 将仅部署到 tomcat,则可以利用 system 属性 ,它表示 tomcat 基文件夹的根(还有一个 ,但它们通常是相同的,除非您在同一台计算机上运行多个 tomcat 并共享服务器库,但我离题了)。catalina.basecataline.home

因此,请按如下方式进行更新:

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

答案 2

推荐