2009-11-24 49 views
0

我有一個由兩個模塊組成的EAR。兩者都公開服務並共享通用代碼。 想象一下,耳朵有一個由webservices.war和webapp.war共享的common.jar。用於兩個模塊的EAR的兩個log4j文件

我使用log4j來記錄活動。我希望能夠有兩個日誌文件(webservices.log和webapp.log)捕獲特定於每個事件的事件以及由common.jar處理的所有事件。

我應該如何配置我的類別和我的appender來實現這個目標?

此刻,我有以下軟件包:
com.myapp共享的東西
com.myapp.webservices爲web服務和
com.myapp.webapp的Web應用程序。

我的問題是,我不知道如何通過使用一個log4j配置文件在兩個日誌文件中捕獲com.myapp(常見的東西)。 我已經嘗試設置多個配置文件,但是Jboss時會工作確定的Websphere將打破,並反過來...

謝謝

+0

你可能需要有對於JBoss和WebSphere不同的配置文件,而這些應該是外部到您的耳朵文件。 – broschb 2009-11-24 02:33:50

+0

謝謝。 與此同時,我發現這一點:http://www.jboss.org/community/wiki/Log4jrepositoryselector,但我不知道它將如何工作,因爲我的所有模塊都在我的耳朵裏,而不是兩次單獨的戰爭。 – nicktmro 2009-11-24 02:44:51

回答

0

你可以把log4j配置任何你喜歡的,只要確保記錄儀能夠從配置文件初始化引擎。我沒有看到爲什麼一個配置文件不適用於Jboss和WebSphere的任何原因。你能更具體地瞭解什麼是突破?

您需要在同一個log4j配置文件中配置兩個名爲webservices和webapp的文件appender,並使用包名稱重定向到相關的appender。

<記錄器名稱= 「com.myapp.webservices」>
<附加器-REF REF = 「web服務」/>
< /記錄器>

<記錄器名稱= 「com.myapp.webapp」 >
<的appender-REF REF = 「web應用程序」/>
< /記錄器>