2012-03-16 60 views
0

我有包含Web應用程序A.war的應用程序A.ear。我在這場戰爭中包含了log4jAdmin.jsp,以便在運行時爲此應用程序中使用的記錄器動態地控制記錄級別。我還在同一服務器實例中的weblogic中部署了另一個應用程序B.ear。這個應用程序也有它自己的log4j.xml文件中定義的記錄器的份額。如何使應用程序B.ear的記錄器在作爲A.ear一部分的log4jAdmin.jsp頁面中可見。我正在使用weblogic 9.2。我知道,根據類加載器的概念,每個應用程序都有它自己的類加載器&將log4j相關文件(jar和xml)移動到一個通用的域文件夾的解決方案可能會工作,但由於我無法控制的原因,我不能這樣做因爲如果遵循這條路線,甲骨文是甲骨文的專利應用程序(屬於其通信套件之一)的故障。 B.ear是我開發的一個自定義應用程序,它包含的插件除了由A.ear調用的企業bean之外沒有什麼。使log4j記錄器在部署在同一臺服務器上的多個應用程序中可見

那麼有沒有一種方法可以使記錄器跨所有已部署的應用程序可見,以便只使用一個log4jAdmin.jsp我可以更改它們的日誌級別?我知道我在努力實現真正的工作,因爲我注意到它正在爲Oracle 10.3.3發佈的最新版本的A.ear中工作。爲B.ear定義的記錄器在A.ear的log4jAdmin.jsp頁面中可見。所以我想知道需要做什麼才能讓WL 9.2獲得同樣的結果。

任何幫助/提示將不勝感激。

感謝

回答

0

我還沒有與WebLogic的工作,所以我的建議將是投機性的,和一般性質的。

由於類加載層次結構方案是由EJB規範定義的,因此我會嘗試將log4j及其配置儘可能在層次結構中儘可能高地部署。大多數應用程序服務器都有一個「擴展名」目錄,您可以在其中將擴展名類加載器顯示爲可見的,這比所有網絡/耳朵類加載器優先。您可以將log4j.jar和(重要的!)log4j.xml放在那裏。可能需要將log4j.xml打包到jar文件中(我不知道WL特定的細節),因爲類加載器通常只查找jar。

相關問題