閱讀644 返回首頁    go 阿裏雲 go 技術社區[雲棲]


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

  引言:

    在開發與生產環境中,我們有時候需要對日誌的配置進行動態切換,要調試、監控和檢查係統的運行時信息。    一般有兩種方法

    1、通過 Spring 的 Log4jConfigListener 在啟動時開啟定時器進行定時加載配置文件

    2、通過 JMX 動態控製

    以上可以從我的《利用Spring來管理控製自己的應用程序》專題演講資料中獲取到更加詳細的信息,包括示例的源程序,地址為

    https://yulimin.javaeye.com/blog/52354

   先說一下上麵兩種方法的不同與缺點:

    1、通過 Spring 的 Log4jConfigListener,則必須在後台打開線程,現定時掃描,然後來定時工作,有點浪費;

    2、通過 JMX 動態控製的則必須供一個管理的端口,不僅有可能端口被占用(當然有個 workaround 來解決它),還有存在防火牆等等需要配置這個管理端口進行對外暴露等等。

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

    現在,利用它進行封裝與擴展,我們可以巧妙地進行定製,並通過 Web Console 界麵來更方便地進行動態切換配置信息,而且不需要重新啟動正在運行中的應用程序。

    文章發表於中國IT實驗室,全文請見:

    https://java.chinaitlab.com/Spring/749699.html

    文中代碼下載在這裏提供下載:

    https://yulimin.javaeye.com/blog/200620  

 

最後更新:2017-04-02 00:06:29

  上一篇:go oracle通配符 運算符的總結
  下一篇:go 如何編寫lighttpd插件