Websphere 8.5.3、SLF4j Log4j、多个 EAR、多个日志文件未生成

Websphere 8.5.3, SLF4j Log4j, Multiple EARs, multiple log files not generating

我用不同的 log4j 配置将两个 EAR 部署到 Websphere 8.5.3。但是服务器只生成一个日志文件。如果我单独部署 EAR,服务器会生成日志文件,但是当部署两个 EAR 时,服务器只会生成一个日志文件。我在 class 路径上有 slf4j-log4j 罐子,在每个 EAR 的 WAR 模块中有一个 lo4j.properties。 任何人都可以帮助我了解 Websphere JVM 发生了什么,或者我是否做错了什么

log4j.rootLogger=INFO
log4j.logger.com.code.first=INFO,appOne
log4j.appender.appOne=org.apache.log4j.RollingFileAppender
log4j.appender.appOne.Name=ApplicationLogAppender
log4j.appender.appOne.File=/logPath/AppOneLog.log
log4j.appender.appOne.layout=org.apache.log4j.PatternLayout
log4j.appender.appOne.MaxFileSize=10MB
log4j.appender.appOne.MaxBackupIndex=10
log4j.appender.appOne.layout.ConversionPattern=%d %-5p %t - %m%n
log4j.appender.appOne.Threshold=DEBUG
log4j.appender.appOne.Append=false


log4j.rootLogger=INFO
log4j.logger.com.code.second=INFO,appTwo
log4j.appender.appTwo=org.apache.log4j.RollingFileAppender
log4j.appender.appTwo.Name=ApplicationLogAppender
log4j.appender.appTwo.File=/logPath/AppTwolog.log
log4j.appender.appTwo.layout=org.apache.log4j.PatternLayout
log4j.appender.appTwo.MaxFileSize=10MB
log4j.appender.appTwo.MaxBackupIndex=10
log4j.appender.appTwo.layout.ConversionPattern=%d %-5p %t - %m%n
log4j.appender.appTwo.Threshold=DEBUG
log4j.appender.appTwo.Append=false

这个:

I have the slf4j-log4j jars on the class path

这是否意味着应用程序之间共享相同的 log4j JAR?可能存在 log4j 类 仅加载一次并在应用程序之间共享的问题。您可以尝试将 log4j JAR 放入每个 Web 模块 WEB-INF/lib 文件夹中吗?这将为每个 Web 模块提供自己的 log4j 类 负载,并可能解决问题。 (此外,由于 log4j 类 也被服务器使用,请确保首先让 Web 模块从自身加载 类。)

Thomas Bitonti,IBM WebSphere Application Server 开发