首先给出一个log4j日志文件的配置:
### set log levels ###
log4j.rootLogger = debug , stdout , D , E
### 输出到控制台 ###
log4j.appender.stdout = org.apache.log4j.ConsoleAppender
log4j.appender.stdout.Target = System.out
log4j.appender.stdout.layout = org.apache.log4j.PatternLayout
log4j.appender.stdout.layout.ConversionPattern = %d{ABSOLUTE} %5p %c{ 1}:%L - %m%n
### 输出到日志文件 ###
log4j.appender.D = org.apache.log4j.DailyRollingFileAppender
log4j.appender.D.File = logs/log.log
log4j.appender.D.Append = true
log4j.appender.D.Threshold = DEBUG ## 输出DEBUG级别以上的日志
log4j.appender.D.layout = org.apache.log4j.PatternLayout
log4j.appender.D.layout.ConversionPattern = %-d{yyyy-MM-dd HH:mm:ss} [ %t:%r] - [ %p ] %m%n
### 保存异常信息到单独文件 ###
log4j.appender.D = org.apache.log4j.DailyRollingFileAppender
log4j.appender.D.File = logs/error.log ## 异常日志文件名
log4j.appender.D.Append = true
log4j.appender.D.Threshold = ERROR ## 只输出ERROR级别以上的日志!!!
log4j.appender.D.layout = org.apache.log4j.PatternLayout
log4j.appender.D.layout.ConversionPattern = %-d{yyyy-MM-dd HH:mm:ss} [ %t:%r] - [ %p ] %m%n
日志文件的理解:
首先,配置的是根:debug代表日志的输出级别,还有其他的级别分别是:FATAL 0 ERROR 3 WARN 4 INFO 6 DEBUG 7 ;
stdout代表输出到控制台,,D代表debug,E代表Error;
log4j.appender.stdout = org.apache.log4j.ConsoleAppender代表日志的输出形式,ConsoleAppender代表控制台输出,FileAppender代表文件输出;
log4j.appender.stdout.Target = System.out;这一行是默认值;
log4j.appender.stdout.layout = org.apache.log4j.PatternLayout;这一行代表日志输出的布局形式;
log4j.appender.stdout.layout.ConversionPattern = %d{ABSOLUTE} %5p %c{ 1}:%L - %m%n;这一行代表日志输出的格式;
log4j.appender.D.Append = true;这一行等于true代表是增加,等于false代表是覆盖;
log4j.appender.D.Threshold = ERROR ## 只输出ERROR级别以上的日志!!!
日志的输出级别