使用 Tomcat 7 并使用 log4j log4j.properties 为每个服务登录不同的文件; 我的 log4j.properties 看起来像这样:
log4j.debug=TRUE
log4j.rootLogger=DEBUG, CONSOLE
log4j.category.org.jboss.resteasy=INFO
log4j.category.ge.mycompany.packageone=DEBUG, MT
log4j.category.ge.mycompany.packagetwo.api=DEBUG, MTAPI
log4j.appender.CONSOLE=org.apache.log4j.ConsoleAppender
log4j.appender.CONSOLE.layout=org.apache.log4j.PatternLayout
log4j.appender.CONSOLE.layout.ConversionPattern=%d{yyyy-MM-dd HH\:mm\:ss.SSSS} %p %t %c %m%n
log4j.appender.MT=org.apache.log4j.DailyRollingFileAppender
log4j.appender.MT.File=/opt/tomcat/apache-tomcat-7.0.35/logs/first-file.log
log4j.appender.MT.DatePattern ='.'yyyy-MM-dd
log4j.appender.MT.layout=org.apache.log4j.PatternLayout
log4j.appender.MT.layout.ConversionPattern=%d{yyyy-MM-dd HH\:mm\:ss.SSSS} %p %t %c %m%n
log4j.appender.MTAPI=org.apache.log4j.DailyRollingFileAppender
log4j.appender.MTAPI.File=/opt/tomcat/apache-tomcat-7.0.35/logs/secont-file-api.log
log4j.appender.MTAPI.DatePattern ='.'yyyy-MM-dd
log4j.appender.MTAPI.layout=org.apache.log4j.PatternLayout
log4j.appender.MTAPI.layout.ConversionPattern=%d{yyyy-MM-dd HH\:mm\:ss.SSSS} %p %t %c %m%n
我的主要问题是一些日志记录到从这个属性创建的文件中,也记录到 catalina.out 有什么办法可以避免这种重复的记录。
最佳答案
在加载 log4j 配置之前,tomcat 在启动脚本中设置 CATALINA_OUT 变量。 您可以尝试在 setenv.sh 中覆盖它:
CATALINA_OUT="/opt/tomcat/apache-tomcat-7.0.35/logs/first-file.log"
关于Tomcat 重复登录到 catalina.out 和从 log4j 配置的文件中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48543951/