log4j.properties配置文件详解

log4j.rootLogger=INFO, stdout, R

#表示将INFO级别的日志输出到stdout和R这两个目的地

 

 

log4j.appender.stdout=org.apache.log4j.ConsoleAppender

#定义名为stdout的输出端是哪种类型,可以是:

org.apache.log4j.ConsoleAppender(控制台);

org.apache.log4j.FileAppender(文件);

org.apache.log4j.DailyRollingFileAppender(每天产生一个日志文件);

org.apache.log4j.RollingFileAppender(文件大小到达指定尺寸的时候产生一个新的文件);

org.apache.log4j.WriterAppender(将日志信息以流格式发送到任意指定的地方)。

 

 

log4j.appender.stdout.layout=org.apache.log4j.PatternLayout

#定义名为stdout的输出端的layout是哪种类型,可以是:

org.apache.log4j.HTMLLayout(以HTML表格形式布局);

org.apache.log4j.PatternLayout(可以灵活地指定布局模式);

org.apache.log4j.SimpleLayout(包含日志信息的级别和信息字符串);

org.apache.log4j.TTCCLayout(包含日志产生的时间、线程、类别等等信息)。

 

 

log4j.appender.stdout.layout.ConversionPattern=[QC] %d{yyyy-MM-dd HH:mm:ss:SSS} %p [%t] %C.%M(%L) | %m%n

#如果使用pattern布局就要指定的打印信息的具体格式ConversionPattern,打印参数如下:

[QC]是log信息的开头,可以为任意字符,一般为项目简称;

%p 输出优先级,即DEBUG,INFO,WARN,ERROR,FATAL;

%t 输出产生该日志事件的线程名;

%c 输出所属的类目,通常就是所在类的全名;

%M 输出打印该条日志的方法名;

%m 输出代码中指定的消息;

%n 输出一个回车换行符,Windows平台为"rn”,Unix平台为"n”;

%d 输出日志时间点的日期或时间,默认格式为ISO8601,也可以在其后指定格式,比如:%d{yyyy-MM-dd HH:mm:ss,SSS},输出类似:2002-10-18 22:10:28,921;

%l 输出日志事件的发生位置,及在代码中的行数;

 

 

log4j.appender.R=org.apache.log4j.DailyRollingFileAppender

#定义名为R的输出端的类型为每天产生一个日志文件。

 

 

log4j.appender.R.File=D:\\Tomcat 5.5\\logs\\qc.log

#定义名为R的输出端的文件名为D:\\Tomcat 5.5\\logs\\qc.log

 

 

log4j.appender.R.layout=org.apache.log4j.PatternLayout

#同上,表示R的layout采用PatternLayout

 

 

log4j.appender.R.layout.ConversionPattern=%d-[TS] %p %t %c - %m%n

#同上,表示R的日志输入格式

 

 

log4j.logger.com.neusoft=DEBUG

#指定com.newsoft包下的日志输出级别为DEBUG

 

 

log4j.logger.com.opensymphony.oscache=ERROR

#指定com.opensymphony.oscache包下的日志输出级别为ERROR

 

 

总结:

1、log4j每个类的作用:

Logger类:完成日志记录,设置日志信息级别

Appender类:决定日志去向,终端、DB、硬盘

Layout类:决定日志输出的样式,例如包含当前线程、行号、时间

 

2、日志级别:

trace<debug<info<warn<error<fatal

trace: 是追踪,就是程序推进以下,你就可以写个trace输出,所以trace应该会特别多,不过没关系,我们可以设置最低日志级别不让他输出。

debug: 调试么,我一般就只用这个作为最低级别,trace压根不用。是在没办法就用eclipse或者idea的debug功能就好了么。

info: 输出一下你感兴趣的或者重要的信息,这个用的最多了。

warn: 有些信息不是错误信息,但是也要给程序员的一些提示,类似于eclipse中代码的验证不是有error 和warn(不算错误但是也请注意,比如以下depressed的方法)。

error: 错误信息。用的也比较多。

fatal: 级别比较高了。重大错误,这种级别你可以直接停止程序了,是不应该出现的错误么!不用那么紧张,其实就是一个程度的问题。

 

猜你喜欢

转载自guwq2014.iteye.com/blog/2218763
今日推荐