2013-03-27 197 views
0

我們使用JBoss 5.1來部署所有的服務。但是我們遇到了這個問題。JBoss日誌記錄 - 日誌依賴項目

比方說,我們有2個項目 'A' 和 'B'。 'A'和'B'都有自己獨立的日誌文件,記錄到'A.log'和'B.log'中。這兩個項目都使用共同的依賴關係'C'。現在,如果項目'A'調用'C'並且'C'中有一個記錄器語句,那麼需要將'A.log'記錄爲'A',因爲'C'是從'A'調用的。 同樣,如果項目'B'調用'C','C'中的記錄器語句應記錄爲'B.log'。

我們如何配置JBoss和log4j的實現這個記錄?

高級謝謝。

回答

1

你應該利用TCLFilter/TCLMCFilter在你的log4j附加目的地爲「A」和「B」分離出你的應用程序日誌中共享類。瞭解更多關於它的這個wiki - SeparatingApplicationLogs

例如:

<appender name="LogA" class="org.apache.log4j.FileAppender"> 
     <errorHandler class="org.jboss.logging.util.OnlyOnceErrorHandler"></errorHandler> 
     <param name="Append" value="false"/> 
     <param name="File" value="some_directory/log/a.log"/> 
     <layout class="org.apache.log4j.PatternLayout"> 
     <param name="ConversionPattern" value="%d{ABSOLUTE} %-5p [%c{1}] %m%n"/> 
     </layout> 
     <filter class="org.jboss.logging.filter.TCLMCFilter"> 
     <param name="AcceptOnMatch" value="true"/> 
     <param name="DeployURL" value="a.ear"/> 
     </filter>  
</appender> 

注意,對於.war文件當中的文件名更改爲「A-exp.war」因此,如果您使用的是戰爭,那麼你將需要相應地更改「DeployURL」。要添加

+0

感謝CoolBeans..Does新的appender需求爲單個項目的log4j的配置文件,還是我們需要補充的是在JBoss的log4j的配置文件。 – user1717230 2013-03-28 20:01:39

+0

不客氣。它可以在jboss-log4j.xml或您自己的應用程序log4j.xml下進行。有關進一步討論,請參閱本[Wiki](https://community.jboss.org/wiki/SeparatingApplicationLogs)上的「分離應用程序日誌 - 不帶單片jboss-log4j.xml文件」一節。 – CoolBeans 2013-03-28 20:57:31