LOG4J
、 Logger, :
log4j.rootLogger = [ level ] , appenderName1, appenderName2, …
( : logger(log4j.logger.packageName=[level],appenderName1,…)
1)level:OFF>FATAL>ERROR>WARN>INFO>DEBUG>ALL 。 4 :ERROR、WARN、INFO、DEBUG。
2)appenderName: , 。 :log4j.rootLogger=info,A1,B2,C3
、 , :
log4j.appender.appenderName=appenderClassName, :
1)org.apache.log4j.ConsoleAppender( ), :
a)Threshold=WARN: 。
b)ImmediateFlush=true: true, 。
c)Target=System.err: :System.out,
2)org.apache.log4j.FileAppender( ), :
a)Threshold,: , :INFO
b)ImmediateFlush,: true,
c)File, mylog.txt ( )。
d)Append, true, ,false 。 3)org.apache.log4j.DailyRollingFileAppender( ), :
a)Threshold,: , :INFO
b)ImmediateFlush,: true,
c)File, mylog.txt ( )。
d)Append, true, ,false 。 e)DatePattern 。 :
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)org.apache.log4j.RollingFileAppender( ), :
a)Threshold,: , :INFO
b)ImmediateFlush,: true,
c)File, mylog.txt ( )。
d)Append, true, ,false 。e)MaxFileSize, KB, MB GB. , , mylog.log.1 。
f)MaxBackupIndex, .
5)org.apache.log4j.WriterAppender( )
、 , :
log4j.appender.appenderName.layout =layoutName, 4 :
1)org.apache.log4j.HTMLLayout( HTML ), :
a)LocationInfo=true: false, java
b)Title=my app file: Log4J Log Messages.
2)org.apache.log4j.PatternLayout( ), :
a)ConversionPattern=%m%n : 。
3)org.apache.log4j.SimpleLayout( ), : 4)org.apache.log4j.TTCCLayout( 、 、 )
: :
-X: X ;
%p: , DEBUG,INFO,WARN,ERROR,FATAL
%d: , ISO8601, , :%d{yyy MMM dd HH:mm:ss,SSS}
%r: log
%c(C): ,
%t:
%l: , %C.%M(%F:%L) , 、 , 。 :com.huawei.Testlog4.main(TestLog4.java:10)
%L:
%x: NDC( ), java servlets 。
%%: \"%\"
%F:
%M:
%m: ,
%n: ,Windows \"\\r\
\",Unix \"\
\"
% 、 、 。 :
1) c: category , 20, category 20 , 。
2)%-20c: category , 20, category 20 ,\"-\" 。
3)%.30c: category , 30, category 30 , , 30 。
4) .30c: category 20 , , 30 , 。
:: log4j.appender.A1.layout.ConversionPattern=%-4r %-5p %d{yyyy-MM-dd HH:mm:ssS} %c %m%n