2016-07-19 1 views
0

두 개의 EAR이 log4j 구성이 다른 Websphere 8.5.3에 배포되었습니다. 그러나 서버는 하나의 로그 파일 만 생성합니다. EAR을 개별적으로 배치하면 서버가 로그 파일을 생성하지만 EAR이 모두 배치되면 서버에서 하나의 로그 파일 만 생성됩니다. 클래스 경로에는 slf4j-log4j jars가 있고 각 EAR의 WAR 모듈에는 하나의 lo4j.properties가 있습니다. 사람이 나를 스피어 JVM으로 진행하거나 뭔가 잘못Websphere 8.5.3, SLF4j Log4j, 다중 EAR, 다중 로그 파일 생성 안 함

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 

답변

0

를하고있는 중이 야 경우 뭐죠 이해하는 데 도움시겠습니까이 :

내가 클래스 경로에 SLF4J-log4j에 항아리를

동일한 log4j JAR이 응용 프로그램간에 공유된다는 것을 의미합니까? log4j 클래스가 한 번만로드되고 응용 프로그램간에 공유되는 문제가있을 수 있습니다. 각 웹 모듈 WEB-INF/lib 폴더에 log4j JAR을 넣을 수 있습니까? 그러면 각 웹 모듈에 자체 log4j 클래스로드가 주어지며 문제가 해결 될 수 있습니다. (log4j에 클래스도 서버에 의해 사용되기 때문에 또한, 먼저 자신에서 웹 모듈로드 수업을해야합니다.)

토마스 Bitonti, IBM WebSphere Application Server의 개발

+0

가 응답을 주셔서 감사합니다. 예. 나는 Maven 의존성을 제거했다. 모든 웹 모듈에는 WeB-INF/lib 폴더에 jar가 있습니다. 또한 클래스로드 기본 설정을 WAR 모듈의 마지막 부모로 명시 적으로 설정했습니다. – RaajM

+0

변경 사항에 문제가 여전히 발생합니까 아니면 해결 되었습니까? –

+0

문제가 계속 발생하면 로거 클래스를로드하는 데 사용 된 클래스 로더를 표시 할 수 있습니까? Logger logger = getSomeLogger(); System.out.println ("Logger ["+ logger + "] ClassLoader ["+ logger.getClass(). getClassLoader() + "]"); –