Log4j 2.0在開發中的高階使用詳解—介紹篇(一)

業餘草發表於2014-07-20
Log4j終於迎來了首個apache版本。Log4j 2 是 Log4j 的升級版本,該版本比起其前任來說有著顯著的改進,包含很多在 Logback 中的改進以及Logback 架構中存在的問題。

這是 Log4j 2 的首次發行的版本,值得關注的改進包括:

  • API 分離 – Log4j 的 API 和其實現進行分類(注:我討厭這樣,本來一個jar包搞定的,要變成好幾個,跟 slf4j 似的的)
  • 為日誌審計而設計,與 Log4j 1.x 和 Logback 不同的是 Log4j 2 將不會在重新配置期間丟失事件,支援訊息可方便進行審計
  • 效能方面的提升,在關鍵領域比 Log4j 1.x 的效能提升不少,大部分情況下效能跟 Logback 差不多
  • 支援多 APIs,支援 SLF4J 和 Commons Logging API
  • 自動配置過載,支援 XML 和 JSON 格式的配置
  • 外掛體系架構,所有可配置的元件都是通過 Log4j 外掛進行定義,包括 Appender, Layout, Pattern Converter, 等等
  • 配置屬性支援
    Apache log4j 2.0 要求至少 JDK 5

    將日誌請求到應用程式程式碼需要大量的規劃與努力。觀察表明,大約有4%的程式碼是用於日誌記錄。 因此,即便是一般大小的應用程式將會有成千上萬的日誌語句嵌入在他們的程式碼。 由於它們的數量,它已成為管理這些日誌語句,而不需要修改手動命令。

    Apache Log4j 2是分散式的Apache許可,2.0版本。同時提供有二進位制版和原始碼版。
    Log4j 2.0中有預設的配置檔案,級別為ERROR。有手動配置,也有自動配置。
    Log4j 2.0有四種方式的配置檔案。
    1.通過一個配置檔案編寫的XML、JSON或YAML。
    2.以程式設計方式,通過建立一個ConfigurationFactory和配置實現。
    3.以程式設計方式,通過呼叫api暴露在配置介面新增 元件的預設配置。
    4.以程式設計方式,通過呼叫Logger類內部的方法。
    關於Log4j 2.0的特性說明,目前瞭解到的就這些。
    如有不懂,疑問或者欠妥的地方,請加QQ群:135430763   進行反饋,共同學習!


相關文章