利用 Spring 與 Log4J 巧妙地進行動態日誌配置切換並立即生效

阿敏總司令發表於2008-06-05
  [b]引言:[/b]

  在開發與生產環境中,我們有時候需要對日誌的配置進行動態切換,要除錯、監控和檢查系統的執行時資訊。

  [b]一般有兩種方法[/b]

  1、通過 Spring 的 Log4jConfigListener 在啟動時開啟定時器進行定時載入配置檔案
  2、通過 JMX 動態控制

  以上可以從我的《利用Spring來管理控制自己的應用程式》專題演講資料中獲取到更加詳細的資訊,包括示例的源程式,地址為
  [url]http://yulimin.iteye.com/blog/52354[/url]

  [b]先說一下上面兩種方法的不同與缺點:[/b]

  1、通過 Spring 的 Log4jConfigListener,則必須在後臺開啟執行緒,現定時掃描,然後來定時工作,有點浪費;
  2、通過 JMX 動態控制的則必須供一個管理的埠,不僅有可能埠被佔用(當然有個 workaround 來解決它),還有存在防火牆等等需要配置這個管理埠進行對外暴露等等。

  雖然上述兩種方法存在著一些不足,但是這兩種方法在特定的場合下,都可以很好地來利用它進行完美地工作。

  現在,利用它進行封裝與擴充套件,我們可以巧妙地進行定製,並通過 Web Console 介面來更方便地進行動態切換配置資訊,而且不需要重新啟動正在執行中的應用程式。

  文章發表於中國IT實驗室,全文請見:
  [url]http://java.chinaitlab.com/Spring/749699.html[/url]

  文中程式碼下載在這裡提供下載:

相關文章