Log4j分級別記錄日誌檔案

2021-08-27 22:30:54 字數 2078 閱讀 7073

log4j分級別記錄日誌檔案

在記錄日誌的時候通常我們都希望不同級別的日誌能夠分別記錄在不同的日誌檔案中,然後有乙個彙總的日誌檔案記錄所有的日誌資訊,因為在大多數情況下我們可能只會關注那些

error

級別的日誌資訊。利用

log4j

去記錄這些資訊是比較簡單的,我們可以配置多個不同的

,然後每個

對應的threshold

指定需要過濾的不同級別。

的threshold

屬性預設是為空的,即表示不過濾掉任何級別的日誌資訊,也就是記錄所有級別的日誌資訊。該屬性值如果設為

error

,則表示只記錄

error

級別以上的日誌資訊,對於

error

以下級別的日誌資訊,如

debug

、info

等將會忽略。所以如果我們需要按照日誌資訊級別的不同記錄不同的日誌檔案,我們可以這樣設定

log4j.properties

檔案。

#指定預設情況下的日誌輸出級別為

info

,對應的

為stdout

、info

、warn

、error

和fatal

log4j.rootlogger=

info,

stdout

,info,

warn,

error,

fatal

org.apache.log4j.patternlayout %d

[%p]

\=\=\=\=

%t\:

%c.%m(%l)\r\n\t%m%n\r\n

org.apache.log4j.patternlayout %d

[%p]

\=\=\=\=

%t\:

%c.%m(%l)\r\n\t%m%n\r\n

info

utf-8

org.apache.log4j.patternlayout %d

[%p]

\=\=\=\=

%t\:

%c.%m(%l)\r\n\t%m%n\r\n

warn

utf-8

org.apache.log4j.patternlayout %d

[%p]

\=\=\=\=

%t\:

%c.%m(%l)\r\n\t%m%n\r\n

error

utf-8

org.apache.log4j.patternlayout %d

[%p]

\=\=\=\=

%t\:

%c.%m(%l)\r\n\t%m%n\r\n

fatal

utf-8

在上述配置中

log4j.rootlogger

是用來指定預設情況下的日誌輸出級別以及對應的

的,其值是類似這樣的格式:

<

日誌輸出級別

中如果指定了對應的日誌輸出級別則會覆蓋

rootlogger

的配置。像上面的配置對於

info

那個其日誌輸出級別就是

info

,哪怕rootlogger

的預設日誌輸出級別改為

error

,名稱為

info

的仍然會記錄

info

級別的日誌資訊。

如果我們希望將

包下面的所有

info

級別以上的日誌都記錄在

檔案中,那麼我們就可以這樣來配置。

=info,test

org.apache.log4j.patternlayout %d

[%p]

\=\=\=\=

%t\:

%c.%m(%l)\r\n\t%m%n\r\n

utf-8

(注:本文是基於

log4j1.2.17

所寫)

Log4j分級別記錄日誌檔案

log4j分級別記錄日誌檔案 指定預設情況下的日誌輸出級別為 info 對應的 為stdout info warn error 和fatal log4j.rootlogger info,stdout info,warn,error,fatal org.apache.log4j.patternlayo...

log4j的日誌級別記錄

不進行優先順序的繼承,乙個級別乙個檔案 log4j.properties 設定 log4j.rootlogger debug,stdout,d,e,i 輸出資訊到控制抬 輸出debug 級別以上的日誌到 e logs error.log 輸出error 級別以上的日誌到 e logs error.l...

Log4j 日誌級別

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