Logging

JBoss:重新載入 log4j 配置而不重新啟動伺服器?

  • October 5, 2015

我們將 JBoss 應用程序伺服器用於使用 Apache log4j 進行日誌記錄的新 Web 應用程序。我們已經使用 JBoss 幾個月了,一切都很好,集中配置的東西真的很好用。

此外,您可能知道,您可以在執行期間部署和取消部署應用程序和配置文件(例如 mail-service.xml),即無需重新啟動伺服器。

如果您更改jboss-log4j.xml配置文件,JBoss 將無法辨識更改,除非您重新啟動它。這有點煩人——log4j 配置是伺服器執行時唯一不能“熱交換”的配置,這似乎很奇怪。

有沒有簡單的方法來解決這個問題,即可以“熱交換”log4j 配置文件?

我聽說過一個涉及一些 servlet 的解決方案,我想它會重新載入新的 jboss-log4j.xml 文件。有沒有人這樣做過並且可以提供一些提示/說明或我們可以查找的地方?

設置: 我們在 Ubuntu 10.04 機器上使用 JBoss EAP 5.0 和最新的 log4j .jar,如果這很重要的話。

看起來 JBoss 實際上確實會自動重新載入 log4j 配置。但與其他熱插拔文件(如部署或其他伺服器配置)相反,它不會立即發生,而是以 60 秒的設定間隔發生。

我想我只是太快和不耐煩地註意到這一點。

這裡有一些關於此事的更多資訊:http:

//blog.techstacks.com/2009/03/dynamically-updating-log-levels-in-jboss.html

我們通過 Java 在應用程序級別執行此操作,例如http://logging.apache.org/log4j/1.2/faq.html#a3.6

引用自:https://serverfault.com/questions/161729