*log4j的简单配置:
log4j.rootLogger = debug,stdout, D
log4j.appender.stdout = org.apache.log4j.ConsoleAppender
log4j.appender.stdout.Target = System.out
log4j.appender.stdout.Threshold = DEBUG
log4j.appender.stdout.layout = org.apache.log4j.PatternLayout
log4j.appender.stdout.layout.ConversionPattern=%d %p %m%n
log4j.appender.D = org.apache.log4j.DailyRollingFileAppender
log4j.appender.D.File = ./log4j.log
log4j.appender.D.Append = true
log4j.appender.D.Threshold = DEBUG
log4j.appender.D.layout = org.apache.log4j.PatternLayout
log4j.appender.D.layout.ConversionPattern=%d %p %m%n
*log4j配置详解:
-
log4j.rootLogger=[level],[appendname1],[appendname2]
-
level是日志记录信息的级别,从高到低分为OFF、FATAL、ERROR、WARN、INFO、DEBUG、ALL或自定义级别。不过只建议使用ERROR、WARN、INFO、DEBUG四个级别。如果在此我们设置级别为INFO,则INFO向下的级别信息都不会显示。
-
appendname就是指定输出到哪个地方,名字随意,但要与下文一致。
-
-
log4j.appender.[appendname]:指定名为appendname的输出端是哪种类型。
-
log4j.appender.stdout = org.apache.log4j.ConsoleAppender表示名为stdout的输出端输出到控制台。
-
log4j.appender.D = org.apache.log4j.DailyRollingFileAppender则表示名为D的输出端输出方式为写入到文件,并且每天一个文件。
-
-
log4j.appender.[appendname].Target:表示log4j输出的目标
-
log4j.appender.stdout.Target = System.out 表示以输出流的方式输出。
-
-
log4j.appender.[appendname].layout:定义名为appendname的输出端布局是哪种类型
-
log4j.appender.stdout.layout = org.apache.log4j.PatternLayout表示stdout输出端的布局方式为灵活方式
-
-
log4j.appender.[appendname].layout.ConversionPattern:表示打印日志输出显示的格式化信息。详见下面的详细属性说明。
-
log4j.appender.D.File:表示D输出端输出文件所在的目录
-
log4j.appender.D.Append :是否在日志信息后追加,如果是false则下一个日志信息会覆盖上一个信息,如果是true则会在后面追加。
-
log4j.appender.D.Threshold = DEBUG:表示如果法生DEBUG类型的信息则输出到这个输出端,他可以把不同级别的信息放在不同的文件内。
*log4j各参数属性:
-
log4j.appender.[appendname]:
-
org.apache.log4j.ConsoleAppender(控制台),
-
org.apache.log4j.FileAppender(文件),
-
org.apache.log4j.DailyRollingFileAppender(每天产生一个日志文件),
-
org.apache.log4j.RollingFileAppender(文件大小到达指定尺寸的时候产生一个新的文件),
-
org.apache.log4j.WriterAppender(将日志信息以流格式发送到任意指定的地方)
-
-
log4j.appender.[appendname].layout:
-
org.apache.log4j.HTMLLayout(以HTML表格形式布局),
-
org.apache.log4j.PatternLayout(可以灵活地指定布局模式),
-
org.apache.log4j.SimpleLayout(包含日志信息的级别和信息字符串),
-
org.apache.log4j.TTCCLayout(包含日志产生的时间、线程、类别等等信息)
-
-
log4j.appender.[appendname].layout.ConversionPattern:
-
%m 输出代码中指定的消息
-
%p 输出优先级,即DEBUG,INFO,WARN,ERROR,FATAL
-
%r 输出自应用启动到输出该log信息耗费的毫秒数
-
%c 输出所属的类目,通常就是所在类的全名
-
%t 输出产生该日志事件的线程名
-
%n 输出一个回车换行符,Windows平台为“\r\n”,Unix平台为“\n”
-
%d 输出日志时间点的日期或时间,默认格式为ISO8601,也可以在其后指定格式,比如:%d{yyy MMM dd HH:mm:ss , SSS},输出类似: 2002年10月18日 22 : 10 : 28 , 921
-
%l 输出日志事件的发生位置,包括类目名、发生的线程,以及在代码中的行数。举例:Testlog4.main(TestLog4.java: 10 )
-