2010-01-11 64 views
2

我無法想象我的問題對我的情況如此具體,但是我迄今沒有看到任何類似的問題。在Weblogic中初始化log4j,在耳朵外

我希望能夠在我的.ear包裝之外指定一個log4g.properties文件,以便更改日誌記錄級別而不重新包裝耳朵。實際上,像這樣做的最迫切的動機是我們小組已經建立的將log4j屬性文件放在耳邊的約定,所以繞過這個約束(通過將log4j.properties文件放在APP-INF/classes目錄中,或耳根等)不適用。

耳朵包含一個無狀態的EJB,委託一系列Spring POJO來完成它的行爲。

我已經看到我的組中的其他人在EAR內部署WAR文件,它唯一的責任是使用上下文監聽器從指定的(外部)路徑加載log4j屬性文件。儘管路徑對於EAR是「外部的」,但它仍然在類路徑中。例如,文件夾/ config位於類路徑中,WAR使用上下文偵聽器從/config/appname/log4j.properties中加載log4j.properties。

對我來說,使用一個WAR,其唯一目的是加載一個log4.properties文件是一種破解/矯枉過正。

還有一個更好的方法,對吧?

回答

2

只需將log4j.properties添加到weblogic的類路徑中,並刪除war和ear中的log4j.properties文件即可。

您可以在控制檯中執行此操作。 轉到服務器名 - 配置 - 服務器啓動

現在將log4j.properties的目錄添加到您的類路徑中。 您的應用程序現在將使用您耳邊的log4j.properties文件。