DailyRollingFileAppender也在SystemOut.log上写入

时间:2013-07-25 00:14:11

标签: logging log4j websphere

我的应用程序使用log4j进行日志记录,并将其部署在WebSphere Application Server V7中。 Log4j jar包含在WEB-INF/lib中,log4j.properties文件位于外部并加载org.springframework.util.Log4jConfigurer。目前,日志配置如下:

log4j.logger.com.myapp=DEBUG, InfoAppender, DebugAppender

log4j.appender.InfoAppender=org.apache.log4j.DailyRollingFileAppender
log4j.appender.InfoAppender.Threshold=INFO
log4j.appender.InfoAppender.File=/home/infoFile.log
log4j.appender.InfoAppender.layout=org.apache.log4j.PatternLayout
log4j.appender.InfoAppender.layout.ConversionPattern=%d %p [%c] - %m%n

log4j.appender.DebugAppender=org.apache.log4j.DailyRollingFileAppender
log4j.appender.DebugAppender.Threshold=DEBUG
log4j.appender.DebugAppender.File=/home/debugFile.log
log4j.appender.DebugAppender.layout=org.apache.log4j.PatternLayout
log4j.appender.DebugAppender.layout.ConversionPattern=%d %p [%c] - %m%n

日志记录按预期工作,文件infoFile.logdebugFile.log已正确填充。但是,发送到这些文件的所有行也都写在服务器上的SystemOut.log文件中,还有来自运行时的许多其他消息。

我们有许多具有此配置的WAR文件,因此SystemOut.log文件很快就会变得非常大,并且很难找到与运行时环境相关的日志。有没有办法从infoFile.log中排除写入debugFile.logSystemOut.log的邮件?

1 个答案:

答案 0 :(得分:0)

为避免传播到SystemOut.log,只需将记录器的 additivity 属性设置为false即可。为此,我们将此行添加到log4j.properties

log4j.additivity.com.myapp=false