Logging DailRollingFileAppender也在SystemOut.log上写入

Logging DailRollingFileAppender也在SystemOut.log上写入,logging,log4j,websphere,Logging,Log4j,Websphere,我的应用程序使用log4j进行日志记录,它部署在websphereapplicationserverv7中。Log4j jar包含在WEB-INF/lib中,并且Log4j.properties文件位于外部,通过org.springframework.util.log4jconfigure加载。当前,日志配置如下所示: log4j.logger.com.myapp=DEBUG, InfoAppender, DebugAppender log4j.appender.InfoAppender=or

我的应用程序使用log4j进行日志记录,它部署在websphereapplicationserverv7中。Log4j jar包含在
WEB-INF/lib
中,并且
Log4j.properties
文件位于外部,通过
org.springframework.util.log4jconfigure
加载。当前,日志配置如下所示:

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.log
debugFile.log
。但是,发送到这些文件的所有行也会写入服务器上的
SystemOut.log
文件,以及运行时的许多其他消息


我们有许多具有这种配置的WAR文件,因此
SystemOut.log
文件很快就会变得很大,并且很难找到与运行时环境相关的日志。是否有方法将写入
infoFile.log
debugFile.log
的消息从
SystemOut.log
中排除?

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

log4j.additivity.com.myapp=false

为了确保日志配置不会受到任何干扰,您能给log4j.properties起一个其他名称吗?它有其他名称,我用它来简化示例有趣的是,我从未见过这种行为。我看到log4j日志记录转到WebSphereSystemOut.log,而不是我的日志文件,但不是除了。我们使用的设置与您描述的基本相同。WEB-INF/lib中的log4j.jar,本例中WEB-INF/classes中的log4j.properties,以及DailRollingFileAppender。我们没有使用Spring配置器。