Log4j appender輸出類型配置

Log4j官方的appender給出了一下幾種實現apache

 

org.apache.log4j.ConsoleAppender(控制檯),  app

org.apache.log4j.FileAppender(文件),  測試

org.apache.log4j.DailyRollingFileAppender(天天產生一個日誌文件),  spa

org.apache.log4j.RollingFileAppender(文件大小到達指定尺寸的時候產生一個新的文件),  debug

org.apache.log4j.WriterAppender(將日誌信息以流格式發送到任意指定的地方)調試

 

實際開發咱們使用第1,第3和第4種實現;日誌

 

假如日誌數據量不是很大,咱們能夠用DailyRollingFileAppender 天天產生一個日誌,方便查看;code

假如日誌數據量很大,咱們通常用RollingFileAppender,固定尺寸的日誌,假如超過了 就產生一個新的文件;blog

 

咱們這裏給出一些實例;開發

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  效果:

QQ鎴浘20170328152805.jpg

 

RollingFileAppender 效果:

QQ鎴浘20170328153449.jpg

相關文章
相關標籤/搜索