2013-07-17 50 views
0

我已經實現了幾個存儲在EJB容器中的Java應用程序,這些應用程序部署在同一個Glassfish域中。每個應用程序項目的資源文件夾中都有它自己的log4j.properties文件(它們都是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時指定的配置文件路徑和名稱嗎?

此外,您可以請給兩個項目正在打印日誌的文件?它是服務器日誌還是應用程序日誌文件之一?

這些項目是否部署在不同的WAR/EAR中?

您可以使用org.apache.log4j.LogManager.getLoggerRepository()打印存儲庫位置。