我正在尝试优化 java 中的 Web 应用程序的 log4j 库。 我们在 Tomcat7 中有一个服务器,完成的所有配置都正常工作,但我注意到 LOG4J 属性创建的文件和 catalina.out 之间有重复的日志。
#LOG4J configuration
log4j.rootLogger=INFO, Appender1,Appender2
log4j.appender.Appender1=org.apache.log4j.ConsoleAppender
log4j.appender.Appender1.layout=org.apache.log4j.PatternLayout
log4j.appender.Appender1.layout.ConversionPattern=%-7p %d [%t] %c - %m%n
log4j.appender.Appender2=org.apache.log4j.DailyRollingFileAppender
log4j.appender.Appender2.File=${catalina.base}/logs/logfile.out
log4j.appender.Appender2.layout=org.apache.log4j.PatternLayout
log4j.appender.Appender2.layout.ConversionPattern=%-7p %d [%t] %c - %m%n
log4j.appender.Appender2.DatePattern='-'yyyyMMdd'.log'
logfile.out 中列出的所有日志都包含在 catalina.out 中。
我能做什么?
最佳答案
ConsoleAppender
正在 catalina.out
中打印日志,因此从 log4j
配置文件中删除 ConsoleAppender
将解决您的问题。
通常,在 Web 应用程序中,不使用 ConsoleAppender
。
关于java - log4j 在 Catalina.out 和日志文件之间重复日志,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41442278/