log4j 在 Catalina.out 和日志文件之间复制了日志
log4j duplicated logs between Catalina.out and log file
我正在尝试为 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 中的 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
是不用的。