2011-05-11 61 views
1

我目前正在嘗試在JBoss 6中配置日誌記錄並查看不同的備選方案。我的要求是:在JBoss 6中重新加載日誌配置AS

1)自動重新加載任何日誌配置更改,無需重新部署應用程序。

2)每個日誌級別有多個日誌文件。例如。一個myApp-error.log僅記錄錯誤消息,myApp-debug.log僅記錄調試消息等。這意味着可以爲每個爲每個文件設置的appender/handlers設置最小和最大級別。

現在,我知道我可以使用JBoss 6 AS附帶的jboss-logging.xml文件。因爲它利用了JBoss中的熱部署功能(此文件位於deploy目錄中),所以我使用此文件自動重新加載。

但是,我無法配置我的日誌爲每個處理程序設置最高級別。我可以設定最低等級,但這意味着例如我的調試文件將得到調試和上面的所有級別。不是我需要的。

其他選項將使用外部配置文件。例如。的log4j.xml。這可以通過設置here所述的系統屬性來實現。好,因爲我可以使用org.apache.log4j.varia.LevelRangeFilter過濾器來限制最大和最小日誌級別。但是,這不允許在不重新部署應用程序的情況下自動重新加載日誌記錄配置。

是否有任何機會使用JBoss 6 AS來獲得這兩項要求,無論是使用發貨日誌系統還是外部日誌系統?

回答

1

1)關於自動重裝:
你應該能夠定期檢查的log4j.xml文件中改變,如果改變,不是要求org.apache.log4j.xml.DOMConfigurator.configure(」 <路徑的log4j .XML>「)。

+0

即使它是Log4J的功能。有方法DOMConfigurator.configureAndWatch(「的路徑」,20 * 1000),它會檢查配置文件以進行更改並自動重新加載。 – 2011-10-04 10:16:57