2013-08-07 106 views
0

當前我們有運行在WebSphere上的J2EE應用程序,log4j 1.x是我們公司的Java日誌記錄標準。我們希望調查在運行時更改log4j配置xml文件的能力,以便我們可以更改爲DEBUG級別(例如,在發現問題時),並且一旦這些問題被清除並且DEBUG爲否,就返回到ERROR級別更長的需要。我們希望做到這一切,而不必回收應用程序以重新讀取配置文件。log4j 2 - 在運行時爲J2EE應用程序更改配置

我看到DOMConfigurator.configureandWatch()是一種可用的方法,它允許配置文件在運行時重新讀取。但是,因爲它產生了一個單獨的線程,在應用程序關閉時不會關閉,所以在J2EE環境中運行是不安全的。

http://logging.apache.org/log4j/1.2/faq.html#a3.6

有誰知道這是固定在LOG4 2?我還沒有從文檔中找到任何明確的定義,並且很好奇,如果在J2EE中運行時更改配置文件是安全的。

回答

0

重新讀取配置文件不是您想要在生產中執行的操作。這意味着你正在改變很多應用服務器不希望改變的資源。開發環境可以擺脫它,理由是炸燬應用程序服務器並不是什麼大問題。這也意味着如果必須重新啓動,您的應用可能會有不同的表現。

您將要以編程方式更改日誌級別。您可以使用來完成您關心的軟件包。一旦你擁有了記錄器,將其級別更改爲調試,並在完成後將其更改。

+0

謝謝馬克。我希望它可以像修改配置文件一樣簡單,但這絕對看起來像更安全的解決方案,因爲我們顯然不希望對應用程序服務器產生負面影響。 – Aaron

相關問題