2017-07-13 113 views
0

也許我只是完全錯過了一些東西,但我正嘗試在JBoss 7 EAP中配置log4j,主要目標是將應用程序(WAR)日誌消息解析爲獨特的文件。使用共享模塊的JBoss 7 EAP應用程序特定日誌記錄

我們的環境將Spring(3.X)配置爲模塊,每個WAR(我們稱之爲WAR A和WAR B)都有自己的Spring的jboss部署描述符以及log4j.xml。

<?xml version="1.0" encoding="UTF-8"?> 
<jboss-deployment-structure xmlns="urn:jboss:deployment-structure:1.2"> 
    <deployment> 
     <dependencies> 
      <module name="org.springframework.spring" slot="3.2" meta-inf="export" export="true" /> 
     </dependencies> 
    </deployment> 
</jboss-deployment-structure> 


log4j.rootLogger = INFO, FILE 
log4j.category.org.springframework=DEBUG 
log4j.appender.FILE=org.apache.log4j.DailyRollingFileAppender 
log4j.appender.FILE.File=${jboss.server.log.dir}/webapp_a.log 
log4j.appender.FILE.ImmediateFlush=true 
log4j.appender.FILE.Threshold=debug 
log4j.appender.FILE.Append=true 
log4j.appender.FILE.DatePattern='.' yyyy-MM-dd-a 
log4j.appender.FILE.layout=org.apache.log4j.PatternLayout 
log4j.appender.FILE.layout.conversionPattern=%d %-5p (%-6t) [%X{IP}] [%c] %m%n 

每個應用程序創建自己的日誌文件,但所有的春節日誌寫入到JBoss的server.log,而不是應用程序特定的日誌,因爲我期望的那樣。這個想法是我想只看到日誌文件中與應用程序相關的彈簧日誌

我是否錯過了一些完全明顯的東西,或者真的只是不理解類加載在JBoss 7中的工作方式,甚至可能。謝謝

回答

0

這是因爲您已將Spring安裝爲模塊。模塊通過通過日誌子系統配置的系統日誌上下文進行日誌記錄。

由於org.springframework.spring使用它自己的類加載器,你真的不希望org.springframework.spring模塊記錄應用程序日誌上下文。原因是任何應用程序首先配置記錄器都會配置任何靜態記錄器。

相關問題