Log4j appender輸出類型配置
阿新 • • 發佈:2017-05-06
文件的 back 容量 jpg war div ror att 參數
Log4j官方的appender給出了一下幾種實現
org.apache.log4j.ConsoleAppender(控制臺),
org.apache.log4j.FileAppender(文件),
org.apache.log4j.DailyRollingFileAppender(每天產生一個日誌文件),
org.apache.log4j.RollingFileAppender(文件大小到達指定尺寸的時候產生一個新的文件),
org.apache.log4j.WriterAppender(將日誌信息以流格式發送到任意指定的地方)
實際開發我們使用第1,第3和第4種實現;
假如日誌數據量不是很大,我們可以用DailyRollingFileAppender 每天產生一個日誌,方便查看;
假如日誌數據量很大,我們一般用RollingFileAppender,固定尺寸的日誌,假如超過了 就產生一個新的文件;
我們這裏給出一些實例;
log4j.rootLogger=DEBUG, Console ,File ,DailyRollingFile ,RollingFile #Console log4j.appender.Console=org.apache.log4j.ConsoleAppender log4j.appender.Console.layout=org.apache.log4j.PatternLayout log4j.appender.Console.layout.ConversionPattern=%d [%t] %-5p [%c] - %m%n #File log4j.appender.File = org.apache.log4j.FileAppender log4j.appender.File.File = C://log2.log log4j.appender.File.layout = org.apache.log4j.PatternLayout log4j.appender.File.layout.ConversionPattern=%d [%t] %-5p [%c] - %m%n #DailyRollingFile log4j.appender.DailyRollingFile = org.apache.log4j.DailyRollingFileAppender log4j.appender.DailyRollingFile.File = C://log3.log log4j.appender.DailyRollingFile.layout = org.apache.log4j.PatternLayout log4j.appender.DailyRollingFile.layout.ConversionPattern =%d [%t] %-5p [%c] - %m%n #RollingFile log4j.appender.RollingFile = org.apache.log4j.RollingFileAppender log4j.appender.RollingFile.File = C://log4.log log4j.appender.RollingFile.MaxFileSize=1KB log4j.appender.RollingFile.MaxBackupIndex=3 log4j.appender.RollingFile.layout = org.apache.log4j.PatternLayout log4j.appender.RollingFile.layout.ConversionPattern =%d [%t] %-5p [%c] - %m%n
測試代碼:
package com.open1111; import org.apache.log4j.Logger; public class Test { private static Logger logger=Logger.getLogger(Test.class); // 獲取logger實例 public static void main(String[] args) { logger.info("普通Info信息"); logger.debug("調試debug信息"); logger.error("報錯error信息"); logger.warn("警告warn信息"); logger.fatal("嚴重錯誤fatal信息"); logger.error("報錯信息", new IllegalArgumentException("非法參數")); int i=0; while(i<10000){ logger.debug(" RollingFile 調試debug信息"); logger.debug(" RollingFile 調試debug信息"); logger.debug(" RollingFile 調試debug信息"); logger.debug(" RollingFile 調試debug信息"); logger.debug(" RollingFile 調試debug信息"); i++; } } }
這裏有兩個新的配置項解釋下:
MaxFileSize 是日誌文件的最大尺寸;根據實際需求來定 10KB 100KB也行
MaxBackupIndex是日誌文件的個數,假如超過了,則覆蓋,主要考慮到的是硬盤的容量問題;根據實際需求來定 比如 100 500;
這裏給下日誌文件的效果:
DailyRollingFileAppender 效果:
RollingFileAppender 效果:
Log4j appender輸出類型配置