《Apache Log4j 2 用戶指南》簡介

1.1 歡迎來到log4j 2!

1.1.1 簡介

幾乎每一個大型應用程序都包含自己的日志記錄或跟蹤API。根據這個規則,在1996年初,E.U. SEMPER項目決定編寫自己的跟蹤API。經過無數次的改進,多次轉世和大量的工作,API已經進化成為log4j,一種流行的Java日志記錄包。該軟件包是在 Apache Software License 下發布的,這是一個由開源倡議認證的完全成熟的開源許可證。最新的log4j版本,包括完整的源代碼、類文件和文檔,可以在http://logging.apache.org/log4j/2.x/index.html上找到。

用來調試代碼的一種低技術方法,是將日志語句插入到代碼中。因為調試器并不總是可用或適用,這也可能是唯一的方法。 對于多線程應用程序和大型的分布式應用程序,通常就是這種情況。

經驗表明,日志記錄是開發周期的一個重要組成部分。它有多個優點。它提供了有關應用程序運行的精確上下文。 一旦插入到代碼中,日志輸出的生成就不需要人為干預。 此外,日志輸出可以保存在持久性介質中以便稍后進行研究。 除了在開發周期中使用之外,還可以將足夠豐富的日志包視為審計工具。

正如Brian W.Kernighan和Rob Pike在他們的《編程實踐》一書中所說:

作為個人選擇,除了獲取一個堆棧跟蹤,或者一兩個變量的值之外,我們傾向于不使用調試器。一個原因是,很容易迷失在復雜的數據結構和控制流程的細節上;我們發現,步進式執行程序的效率,低于努力思考并在關鍵位置添加輸出語句和自檢代碼。單擊語句所花費的時間比掃描正確放置的顯示的輸出要長。 即使我們知道代碼的關鍵部分在哪里,決定放置打印語句的位置也會比單步執行需要更少的時間。 更重要的是,調試語句與程序保持一致;而調試會話是臨時的。

日志確實有它的缺點。它會降低應用程序的速度。如果過于冗長,可能會導致滾動失明。為了緩解這些問題,log4j被設計成可靠、快速和可擴展的。由于日志記錄很少是應用程序的主要關注點,因此log4j API力求簡單易懂和易于使用