log4j配置

http://www.iteye.com/topic/378077
http://blog.csdn.net/azheng270/article/details/2173430
http://baike.baidu.com/view/25347.htm
http://www.cnblogs.com/suman/archive/2010/10/23/1858864.html


log4j.properties
//1
log4j.rootCategory=INFO,stdout,R [appender1,appender2...]
[OFF,FATAL,ERROR,WARN,INFO,DEBUG,ALL]
//2
log4j.appender.appender1=org.apache.log4j.ConsoleAppender
[org.apache.log4j.ConsoleAppender
--- .FileAppender
--- .DailyRollingFileAppender
--- .RollingFileAppender
--- .WriterAppender(以流格式发送)]
//3
log4j.appender.appender1.layout=org.apache.log4j.PatternLayout
[org.apache.log4j.HTMLLayout
--- .PatternLayout 指定布局
--- .SimpleLayout 级别+信息
--- .TTCCLayout 时间线程类别]
//4.使用PatternLayout 自定义布局
log4j.appender.appender1.layout.ConversionPattern=[QC]%p[%t]%C.%M(%L)|%m%n
[QC]项目名称
%p - 优先级[priority]
%t 产生日志事件的线程名称[thread]
%c 所在类的全名[class]
%m 输出代码中指定的消息 [message]
%n 回车换行
%d 日期 %d{yyyy MM dd HH:mm:ss,SSSS}

//5. appender2
log4j.appender.appender2=org.apache.log4j.DailyRollingFileAppender
log4j.appender.appender2.File=D:\\qc.log
log4j.appender.appender2.layout=
ConversionPattern...
..

log4j.logger.com.myproject=DEBUG //指定项目包下所有类等级

 

//struts

//Spring包
log4j.logger.org.springframework=DEBUG

//hibernate包
log4j.logger.org.hibernate.ps.PreparedStatementCache=WARN
log4j.logger.org.hibernate=DEBUG

如果您不熟悉Log4J,那我们建议您阅读一下 使用Log4j进行日志记录。

我们可以按下面的方式配置DailyRollingFileAppender:

log4j.rootCategory=INFO,file
log4j.appender.file=org.apache.log4j.DailyRollingFileAppender
log4j.appender.file.DatePattern='.'yyyy-MM-dd
log4j.appender.file.File=run.log
log4j.appender.file.Append=true
log4j.appender.file.Threshold=INFO
log4j.appender.file.layout=org.apache.log4j.PatternLayout
log4j.appender.file.layout.ConversionPattern=%c %x - %m%n
在DailyRollingFileAppender中可以指定monthly(每月)、 weekly(每周)、daily(每天)、half-daily(每半天)、hourly(每小时)和minutely(每分钟)六个频度,这是通过为 DatePattern选项赋予不同的值来完成的。DatePattern选项的有效值为:

'.'yyyy-MM,对应monthly(每月)
'.'yyyy-ww,对应weekly(每周)
'.'yyyy-MM-dd,对应daily(每天)
'.'yyyy-MM-dd-a,对应half-daily(每半天)
'.'yyyy-MM-dd-HH,对应hourly(每小时)
'.'yyyy-MM-dd-HH-mm,对应minutely(每分钟)
DatePattern中不用处理的文字要放到单引号(')中,如上面的(.)。如果您对此有疑问可以查阅SimpleDateFormat的文档。DailyRollingFileAppender中使用这个类来处理DatePattern。

DatePattern格式化之后的文本作为文件名字的后缀。DailyRollingFileAppender不支持格式化之后的文本作为文件名字的前缀。

DailyRollingFileAppender在每一个日志事件(LoggingEvent)附加(append)之前检查是否需要附加。也就是说如果在一个滚动区间中没有任何日志记录,那么这个区间的日志记录文件就不会形成。

查阅DailyRollingFileAppender的JavaDoc文档。

static Logger logger=Logger.getLogger(LogDemo.class);

if(log.isDebugEnabled())
log.debug();

posted @ 2012-07-05 11:41  失落小羊  阅读(336)  评论(0编辑  收藏  举报