log4j詳細配置,一看就懂
阿新 • • 發佈:2019-01-24
2 、配置根 Logger ,其語法為:
log4j.rootLogger = [ level ] , appenderName1, appenderName2, …
level : 是日誌記錄的優先順序,分為 OFF 、 FATAL 、 ERROR 、 WARN 、 INFO 、 DEBUG 、 ALL 或者您定義的級別。 Log4j 建議只使用四個級別,優 先級從高到低分別是 ERROR 、 WARN 、 INFO 、 DEBUG 。通過在這裡定義的級別,您可以控制到應用程式中相應級別的日誌資訊的開關。比如在這裡定 義了 INFO 級別,則應用程式中所有 DEBUG 級別的日誌資訊將不被打印出來。
appenderName: 就是指定日誌資訊輸出到哪個地方。您可以同時指定多個輸出目的地。
例如: log4j.rootLogger = info,A1,B2,C3
3 、配置日誌資訊輸出目的地,其語法為:
log4j.appender.appenderName = fully.qualified.name.of.appender.class //
"fully.qualified.name.of.appender.class" 可以指定下面五個目的地中的一個:
1.org.apache.log4j.ConsoleAppender (控制檯)
2.org.apache.log4j.FileAppender (檔案)
3.org.apache.log4j.DailyRollingFileAppender (每天產生一個日誌檔案)
4.org.apache.log4j.RollingFileAppender (檔案大小到達指定尺寸的時候產生一個新的檔案)
5.org.apache.log4j.WriterAppender (將日誌資訊以流格式傳送到任意指定的地方)
1.ConsoleAppender 選項 Threshold=WARN: 指定日誌訊息的輸出最低層次。
ImmediateFlush=true: 預設值是 true, 意謂著所有的訊息都會被立即輸出。
Target=System.err :預設情況下是: System.out, 指定輸出控制檯
2.FileAppender 選項 Threshold=WARN: 指定日誌訊息的輸出最低層次。
ImmediateFlush=true: 預設值是 true, 意謂著所有的訊息都會被立即輸出。
File=mylog.txt: 指定訊息輸出到 mylog.txt 檔案。
Append=false: 預設值是 true, 即將訊息增加到指定檔案中, false 指將訊息覆蓋指定的檔案內容。
3.DailyRollingFileAppender 選項 Threshold=WARN: 指定日誌訊息的輸出最低層次。
ImmediateFlush=true: 預設值是 true, 意謂著所有的訊息都會被立即輸出。
File=mylog.txt: 指定訊息輸出到 mylog.txt 檔案。
Append=false: 預設值是 true, 即將訊息增加到指定檔案中, false 指將訊息覆蓋指定的檔案內容。
DatePattern='.'yyyy-ww: 每週滾動一次檔案 ,即每週產生一個新的檔案。當然也可以指定按月、周、天、時和分。即對應的格式如下:
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: 每分鐘
4.RollingFileAppender 選項
Threshold=WARN: 指定日誌訊息的輸出最低層次。
ImmediateFlush=true: 預設值是 true, 意謂著所有的訊息都會被立即輸出。
File=mylog.txt: 指定訊息輸出到 mylog.txt 檔案。
Append=false: 預設值是 true, 即將訊息增加到指定檔案中, false 指將訊息覆蓋指定的檔案內容。
MaxFileSize=100KB: 字尾可以是 KB, MB 或者是 GB. 在日誌檔案到達該大小時,將會自動滾動,即將原來的內容移到 mylog.log.1 檔案。
MaxBackupIndex=2: 指定可以產生的滾動檔案的最大數。
log4j.rootLogger = [ level ] , appenderName1, appenderName2, …
level : 是日誌記錄的優先順序,分為 OFF 、 FATAL 、 ERROR 、 WARN 、 INFO 、 DEBUG 、 ALL 或者您定義的級別。 Log4j 建議只使用四個級別,優 先級從高到低分別是 ERROR 、 WARN 、 INFO 、 DEBUG 。通過在這裡定義的級別,您可以控制到應用程式中相應級別的日誌資訊的開關。比如在這裡定 義了 INFO 級別,則應用程式中所有 DEBUG 級別的日誌資訊將不被打印出來。
appenderName: 就是指定日誌資訊輸出到哪個地方。您可以同時指定多個輸出目的地。
例如: log4j.rootLogger = info,A1,B2,C3
3 、配置日誌資訊輸出目的地,其語法為:
"fully.qualified.name.of.appender.class" 可以指定下面五個目的地中的一個:
1.org.apache.log4j.ConsoleAppender (控制檯)
2.org.apache.log4j.FileAppender (檔案)
3.org.apache.log4j.DailyRollingFileAppender (每天產生一個日誌檔案)
4.org.apache.log4j.RollingFileAppender (檔案大小到達指定尺寸的時候產生一個新的檔案)
5.org.apache.log4j.WriterAppender (將日誌資訊以流格式傳送到任意指定的地方)
1.ConsoleAppender
ImmediateFlush=true: 預設值是 true, 意謂著所有的訊息都會被立即輸出。
Target=System.err :預設情況下是: System.out, 指定輸出控制檯
2.FileAppender 選項 Threshold=WARN: 指定日誌訊息的輸出最低層次。
ImmediateFlush=true: 預設值是 true, 意謂著所有的訊息都會被立即輸出。
File=mylog.txt: 指定訊息輸出到 mylog.txt 檔案。
Append=false: 預設值是 true, 即將訊息增加到指定檔案中, false 指將訊息覆蓋指定的檔案內容。
3.DailyRollingFileAppender
ImmediateFlush=true: 預設值是 true, 意謂著所有的訊息都會被立即輸出。
File=mylog.txt: 指定訊息輸出到 mylog.txt 檔案。
Append=false: 預設值是 true, 即將訊息增加到指定檔案中, false 指將訊息覆蓋指定的檔案內容。
DatePattern='.'yyyy-ww: 每週滾動一次檔案 ,即每週產生一個新的檔案。當然也可以指定按月、周、天、時和分。即對應的格式如下:
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: 每分鐘
4.RollingFileAppender 選項
Threshold=WARN: 指定日誌訊息的輸出最低層次。
ImmediateFlush=true: 預設值是 true, 意謂著所有的訊息都會被立即輸出。
File=mylog.txt: 指定訊息輸出到 mylog.txt 檔案。
Append=false: 預設值是 true, 即將訊息增加到指定檔案中, false 指將訊息覆蓋指定的檔案內容。
MaxFileSize=100KB: 字尾可以是 KB, MB 或者是 GB. 在日誌檔案到達該大小時,將會自動滾動,即將原來的內容移到 mylog.log.1 檔案。
MaxBackupIndex=2: 指定可以產生的滾動檔案的最大數。