2011-10-03 104 views
6

我有一個EAR,由ejb.jar檔案組成。EAR中的log4j配置

我應該在哪裏將我的log4j.xml配置文件放在我的EAR中,以便爲不同的EJB配置log4j?

這裏是我的結構如下:

myEar 
|-- myEjb1.jar 
|-- myEjb2.jar 
|-- myEjb3.jar 
|-- lib 
    | -- myLib1.jar 
    | -- myLib2.jar 

提前感謝!

+0

「爲不同的EJB配置它們」是什麼意思?你需要對不同的EJB罐子有不同的配置嗎? –

回答

8

如果log4j被耳朵中的不同模塊使用,它應該被放置在放置在耳朵的lib目錄中的jar中。但它不是很方便,因爲每次更改日誌級別時都必須重新組裝耳朵並重新部署它。

另一種方法是將log4j配置文件放在文件夾中,並將該文件夾添加到耳朵的類路徑中。大多數應用程序服務器提供此功能(例如WebSphere)。它便攜性較差,但更易於管理:可以在不重新部署耳朵的情況下更改配置。

5

讓我們理清這一點:無論您的企業應用程序由多少個EJB組成,只有一個 log4j。同樣,只有一個配置文件。如果您需要爲不同的EJB配置它,您的選擇是在EJB代碼中使用適當命名的記錄器,並在一個log4j.xml中管理它們。

Laurent對於把它放在哪裏有一些有趣的建議(+1)。