Log4j2配置詳解 基礎配置含義

2021-08-22 08:16:11 字數 2782 閱讀 4376

1.關於配置檔案的名稱以及在專案中的存放位置

log4j 2.x版本不再支援像1.x中的.properties字尾的檔案配置方式,2.x版本配置檔案字尾名只能為".xml",".json"或者".jsn".

系統選擇配置檔案的優先順序(從先到後)如下:

(1).classpath下的名為log4j2-test.json 或者log4j2-test.jsn的檔案.

(2).classpath下的名為log4j2-test.xml的檔案.

(3).classpath下名為log4j2.json 或者log4j2.jsn的檔案.

(4).classpath下名為log4j2.xml的檔案.

我們一般預設使用log4j2.xml進行命名。如果本地要測試,可以把log4j2-test.xml放到classpath,而正式環境使用log4j2.xml,則在打包部署的時候不要打包log4j2-test.xml即可。

2.預設預設配置檔案

1 <?xml version="1.0" encoding="utf-8"?>

12

13

3.配置檔案節點解析    

status用來指定log4j本身的列印日誌的級別.

monitorinterval用於指定log4j自動重新配置的監測間隔時間,單位是s,最小是5s.

target:system_out 或 system_err,一般只設定預設:system_out.

patternlayout:輸出格式,不設定預設為:%m%n.

filename:指定輸出日誌的目的檔案帶全路徑的檔名.

patternlayout:輸出格式,不設定預設為:%m%n.

filename:指定輸出日誌的目的檔案帶全路徑的檔名.

patternlayout:輸出格式,不設定預設為:%m%n.

filepattern:指定新建日誌檔案的名稱格式.

policies:指定滾動日誌的策略,就是什麼時候進行新建日誌檔案輸出日誌.

sizebasedtriggeringpolicy:policies子節點,基於指定檔案大小的滾動策略,size屬性用來定義每個日誌檔案的大小.

defaultrolloverstrategy:用來指定同乙個資料夾下最多有幾個日誌檔案時開始刪除最舊的,建立新的(通過max屬性)。

(3).loggers節點,常見的有兩種:root和logger.

root節點用來指定專案的根日誌,如果沒有單獨指定logger,那麼就會預設使用該root日誌輸出

level:日誌輸出級別,共有8個級別,按照從低到高為:all < trace < debug < info < warn < error < fatal < off.

logger節點用來單獨指定日誌的形式,比如要為指定包下的class指定不同的日誌級別等。

level:日誌輸出級別,共有8個級別,按照從低到高為:all < trace < debug < info < warn < error < fatal < off.

name:用來指定該logger所適用的類或者類所在的包全路徑,繼承自root節點.

(4).關於日誌level.

共有8個級別,按照從低到高為:all < trace < debug < info < warn < error < fatal < off.

all:最低等級的,用於開啟所有日誌記錄.

trace:是追蹤,就是程式推進以下,你就可以寫個trace輸出,所以trace應該會特別多,不過沒關係,我們可以設定最低日誌級別不讓他輸出.

debug:指出細粒度資訊事件對除錯應用程式是非常有幫助的.

info:訊息在粗粒度級別上突出強調應用程式的執行過程.

warn:輸出警告及warn以下級別的日誌.

error:輸出錯誤資訊日誌.

fatal:輸出每個嚴重的錯誤事件將會導致應用程式的退出的日誌.

off:最高等級的,用於關閉所有日誌記錄.

程式會列印高於或等於所設定級別的日誌,設定的日誌等級越高,列印出來的日誌就越少。

4.比較完整的log4j2.xml配置模板

1 <?xml version="1.0" encoding="utf-8"?>

2 3

4 9 10

11 12

17

18 20

21 22 23 24 25 26

27

28 30 31 32 33 34 35

36

37 38

39 41 42 43 44 45 46

47

50 51

52

53

60

61

log4j2配置檔案詳解

log4j 2.x版本不再支援像1.x中的.properties字尾的檔案配置方式,2.x版本配置檔案字尾名只能為 xml json 或者 jsn 系統選擇配置檔案的優先順序 從先到後 如下 1 classpath下的名為log4j2 test.json 或者log4j2 test.jsn的檔案.2...

log4j2的xml配置詳解

最近由於專案的需要,我們把log4j 1.x的版本全部遷移成log4j 2.x 的版本,那隨之而來的slf4j整合log4j的配置,以及log4j2配置檔案的詳解。本文就專門來講解下log4j2.xml配置檔案的各項標籤的意義。log4j 2.x版本不再支援像1.x中的.properties字尾的檔...

log4j2配置mybatis日誌

前天我上傳了我的mybatis系列課程 的第六講,主要內容是如何使用log4j2 具體版本為v2.0 rc1 為mybatis 3.2.7配置日誌。實際上目前最新的版本是剛剛發布的v2.0 rc2,我也嘗試過在mybatis 3.2.7中使用它,但卻報出以下錯誤 接著,在他的提示下,通過查閱myba...