Log4j的日誌輸出級別和配置檔案詳解

2021-08-02 22:34:01 字數 2614 閱讀 2539

一,log4j的日誌輸出級別

log4j由三個重要的元件構成:日誌資訊的優先順序,日誌資訊的輸出目的地,日誌資訊的輸出格式。日誌資訊的優先順序從高到低有error、warn、

info、debug,分別用來指定這條日誌資訊的重要程度;日誌資訊的輸出目的地指定了日誌將列印到控制台還是檔案中;而輸出格式則控制了日誌信

息的顯示內容。

all 各級包括自定義級別 

debug 指定細粒度資訊事件是最有用的應用程式除錯

error 錯誤事件可能仍然允許應用程式繼續執行

fatal 指定非常嚴重的錯誤事件,這可能導致應用程式中止

info 指定能夠突出在粗粒度級別的應用程式運**況的資訊的訊息

off 這是最高等級,為了關閉日誌記錄

trace 指定細粒度比debug更低的資訊事件

warn 指定具有潛在危害的情況

級別p的級別使用q,在記錄日誌請求時,如果p>=q啟用。這條規則是log4j的核心。它假設級別是有序的。對於標準級別它們關係如下:

all < debug < info < warn < error < fatal < off。

驗證log4j的規則:

public class logclass 

}

當編譯並執行logclass程式會產生以下結果:

warn message!

error message!

fatal message!

二,log4j.properties配置檔案詳解

1,log4j.rootlogger=debug,console,file

log4j.rootlogger用來配置日誌輸出的優先順序和日誌輸出的目的地。第乙個欄位debug指定優先順序,只能指定乙個字段。第二個欄位和第三個字段,

用來指定日誌輸出的目的地。console代表輸出到控制台,file代表輸出到檔案。如果只有乙個輸出目的地,我們也可以只指定乙個字段。

threshold是個全域性的過濾器,把低於所設定的level的資訊過濾掉,不顯示出來。

指定布局樣式,log4j具有以下幾種型別的布局layout

patternlayout:根據指定的轉換模式格式化日誌輸出

htmllayout:格式化日誌輸出為html**

xmllayout:格式化日誌輸出為xml檔案

******layout:以一種非常簡單的方式格式化日誌輸出

ttcclayout:包含日誌產生的時間、執行緒、類別等資訊

設定日誌的布局格式

輸出到檔案

threshold=warn:指定日誌資訊的最低輸出級別,預設為debug。

immediateflush=true:表示所有訊息都會被立即輸出,設為false則不輸出,預設值是true。

target=system.err:預設值是system.out。

threshold=warn:指定日誌資訊的最低輸出級別,預設為debug。

immediateflush=true:表示所有訊息都會被立即輸出,設為false則不輸出,預設值是true。

file=d:/logs/logging.log4j:指定訊息輸出到logging.log4j檔案中。

threshold=warn:指定日誌資訊的最低輸出級別,預設為debug。

immediateflush=true:表示所有訊息都會被立即輸出,設為false則不輸出,預設值是true。

file=d:/logs/logging.log4j:指定當前訊息輸出到logging.log4j檔案中。

datepattern='.'yyyy-mm:每月滾動一次日誌檔案,即每月產生乙個新的日誌檔案。當前月的日誌檔名為logging.log4j,前乙個月的日誌

檔名logging.log4j.yyyy-mm。

另外,也可以指定按周、天、時、分等來滾動日誌檔案,對應的格式如下:

1)'.'yyyy-mm:每月

2)'.'yyyy-ww:每週

3)'.'yyyy-mm-dd:每天

4)'.'yyyy-mm-dd-a:每天兩次

5)'.'yyyy-mm-dd-hh:每小時

6)'.'yyyy-mm-dd-hh-mm:每分鐘

threshold=warn:指定日誌資訊的最低輸出級別,預設為debug。

immediateflush=true:表示所有訊息都會被立即輸出,設為false則不輸出,預設值是true。

file=d:/logs/logging.log4j:指定訊息輸出到logging.log4j檔案中。

maxfilesize=100kb:字尾可以是kb, mb 或者gb。在日誌檔案到達該大小時,將會自動滾動,即將原來的內容移到logging.log4j.1檔案中。

maxbackupindex=2:指定可以產生的滾動檔案的最大數,例如,設為2則可以產生logging.log4j.1,logging.log4j.2兩個滾動檔案

和乙個logging.log4j檔案。

是否追加:是

日誌檔案路徑

設定檔案大小超過10mb以後自動更名,將原來的日誌移動到新的新的檔案中,打包備份。

設定可以產生的滾動檔案的最大數量,也就是可以產生的備份檔案的最大數量。

Log4j輸出級別

對於日誌輸出級別來說,下面是我們應該記住的一些原則 error 系統發生了嚴重的錯誤,必須馬上進行處理,否則系統將無法繼續執行.比如,npe 空指標 資料庫不可用等異常.warn 系統能繼續執行,但是必須引起關注.對於存在的問題一般可以分為兩類 一種系統存在明顯的問題 比如,資料不可用 另一種就是系...

Log4j 日誌級別

日誌記錄器 logger 是日誌處理的核心元件。log4j具有5種正常級別 level 日誌記錄器 logger 的可用級別level 不包括自定義級別 level static level debug debug level指出細粒度資訊事件對除錯應用程式是非常有幫助的。static level ...

Log4j日誌級別

日誌記錄器 logger 是日誌處理的核心元件。log4j具有5種正常級別 level 日誌記錄器 logger 的可用級別level 不包括自定義級別 level 以下內容就是摘自log4j api public static final level trace thetracelevel des...