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.預設預設配置檔案
3.配置檔案節點解析1 <?xml version="1.0" encoding="utf-8"?>12
13
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...