参考的网址:html
http://it.oyksoft.com/log4j/
http://www.blogjava.net/vesung/archive/2008/01/22/177059.html
java
1 配置根Logger:apache
log4j.rootLogger = [ level ] , appenderName1, appenderName2, …app
log4j.additivity.org.apache=false:表示Logger不会在父Logger的appender里输出,默认为true。spa
level :设定日志记录的最低级别,可设的值有OFF、FATAL、ERROR、WARN、INFO、DEBUG、ALL或者自定义的级别,Log4j建议只使用 中间四个级别。经过在这里设定级别,您能够控制应用程序中相应级别的日志信息的开关,好比在这里设定了INFO级别,则应用程序中全部DEBUG级别的日 志信息将不会被打印出来。.net
appenderName:就是指定日志信息要输出到哪里。能够同时指定多个输出目的地,用逗号隔开。日志
例如:log4j.rootLogger=INFO,A1,B2,C3htm
例如log4j.rootLogger=WARN, stdout, errorblog
WARN为log输出级别,stdout,error为该log的别名,下面将用到。不少人觉得stdout和error是关键字,其实大错特错。
资源
2 Threshold 属性:表示日志输出的位置中,指定日志信息的最低输出级别,默认为DEBUG。
3 DailyRollingFileAppender与RollingFileAppender
建议使用DailyRollingFileAppender,里面能够设置每隔一小时或者一分钟产生一个新日志;
RollingFileAppender虽然能够指定日志的大小,好比10M,可是他默认产生文件数为2,当把默认文件数量增大,修改MaxBackupIndex值。因为咱们不知道文件之后到底多大,咱们每每设置为很大,因为RollingFileAppender须要文件转义,很消耗资源,当MaxBackupIndex设置为1000的时候,就会等好久。若是在大会出现假死。整个建议别用。
本身写的例子:
# Set root logger level to WARN and append to stdoutlog4j.rootLogger=INFO, out1, out2#输出到控制台log4j.appender.out1=org.apache.log4j.ConsoleAppenderlog4j.appender.out1.Threshold=INFOlog4j.appender.out1.layout=org.apache.log4j.PatternLayout# Pattern to output the caller's file name and line number.log4j.appender.out1.layout.ConversionPattern=%d %5p (%c:%L) - %m%n##################################输入到文件的#################################log4j.appender.out2=org.apache.log4j.DailyRollingFileAppenderlog4j.appender.out2.File=${log}logs/log.outlog4j.appender.out2.Threshold=INFOlog4j.appender.out2.DatePattern='.'yyyy-MM-dd-HHlog4j.appender.out2.layout=org.apache.log4j.PatternLayoutlog4j.appender.out2.layout.ConversionPattern=[%d]-%-5p (%F:%L)|%m%n