2013-07-17 3 views
0

동일한 Glassfish 도메인에 배포하는 EJB 컨테이너에 저장된 여러 Java 응용 프로그램을 구현했습니다. 그것들은 각각 자신의 log4j.properties 파일을 가지고 있습니다. 그것들은 각 어플리케이션 프로젝트의 resources 폴더에 있습니다 (모두 Maven 프로젝트입니다).log4j 여러 ejb 컨테이너와의 충돌

각 log4j.properties 파일마다 다른 로그 파일이 구성되어 있지만 응용 프로그램을 배포하면 결국 동일한 로그 파일에 기록됩니다.

누구든지이 문제를 해결하는 방법을 알고 있습니까? :)

편집 : 여기에 두 개의 프로젝트에 대한 내 log4j.properties 파일이 있습니다.

첫 번째

:

log4j.rootLogger=ALL,AppFileAppender 

log4j.appender.AppFileAppender=org.apache.log4j.FileAppender 

log4j.appender.AppFileAppender.File=${com.sun.aas.instanceRoot}/logs/Engine.log 

log4j.appender.AppFileAppender.layout=org.apache.log4j.PatternLayout 
log4j.appender.AppFileAppender.layout.ConversionPattern= %d [%t] %-5p %c - %m%n 

log4j.logger.hesemulatorproducer=ALL,AppFileAppender 
log4j.logger.org.hibernate=info 

두 번째 :

log4j.rootLogger=ALL,AppFileAppender 

log4j.appender.AppFileAppender=org.apache.log4j.FileAppender 

log4j.appender.AppFileAppender.File=${com.sun.aas.instanceRoot}/logs/SendEndDeviceEvents.log 

log4j.appender.AppFileAppender.layout=org.apache.log4j.PatternLayout 
log4j.appender.AppFileAppender.layout.ConversionPattern= %d [%t] %-5p %c - %m%n 

log4j.logger.hesemulatorproducer=ALL,AppFileAppender 

답변

0

나는이 질문에 대한 코멘트 링크를 볼 수 없습니다. 그래서 나는이 대답에서 몇 가지 설명을 요구하고있다. 문제의 근본 원인을 찾는 데 도움이 될 수 있습니다.

Log4j를 초기화하는 동안 지정하는 구성 파일 경로와 이름을 확인하십시오.

또한 두 프로젝트 모두에 대해 로그가 인쇄되는 파일을 제공 할 수 있습니까? 서버 로그입니까 아니면 응용 프로그램 로그 파일입니까?

이 프로젝트는 다른 WARs/EAR에 배포됩니까?

org.apache.log4j.LogManager.getLoggerRepository()를 사용하여 저장소 위치를 인쇄 할 수 있습니다.