Log4j2 教學手冊

About

Apache Log4j 2是一個基於Java的日誌記錄工具。目前是Apache Software Foundation的一個專案。

Log4j 2是Log4j的升級版,它改善了許多Log4j的功能並增進其效能,同時還修復了許多存在於Log4j、Logback結構中固有的問題。

而以下是則是它的特色與改進的部份:

API Separation

Log4j的API在實作上是獨立分開的。這對開發人員來說會更清晰的了解哪些類別和方法是可相容的。這允許Log4j團隊在實作上提高其相容性。(待改)

Improved Performance

Log4j 2包含新一代非同步的Loggers,其技術是基於LMAX Disruptor函式庫。在多執行緒的情境中,非同步Loggers有高達18倍的吞吐量和比Log4j 1.x和Logback更低的訂單延遲。更詳細的介紹可以參考非同步日誌效能。另外,Log4j 2還提供了比Logj 1.x更高性能的。(待改)

Support for multiple APIs

Log4j 2除了提供最好的效能之外,還支援SLF4J和Commons Logging APIs。

Automatic Reloading of Configurations

與Logback一樣,當參數設定檔被修改時,Log4j 2會自動的重新載入這些配置。與Logback不一樣的是,當你在重新配置時,它不會丟失那些正在寫入的log。

Advanced Filtering

(待改)

Plugin Architecture

Log4j使用plugin pattern來配置元件。因此,使用者就不用再自已寫程式來配置Appender, Layout, Pattern Converter等等……。當組態設定參考到這些plugin時,Log4j會自動的來做配置。

Property Support

你可以參考Configuration中的參數設定。Log4j會自動載入,或者將它們動態的傳遞到其他基礎元件。而參數值的設定來源可以是設定檔(configruation file)、系統參數(system properties)、環境變數(environment variables)、ThreadContext Map與事件中的資料顯示(data present in the event)。且使用者可以更進一步的來做參數提供透過增自自訂義的Lookup Plugin。

最低需求

Java 6以上