例子加入log4j,log4j.appender.xxxx.DatePattern是甚?

  在log4j.properties的文件配置都正常了,但是没有看到生成日志文件,后来发现败在web.xml文件中没有加入配置,以前这么多项目都用了log4j,但是都没有看下是怎么折腾的,都干嘛去了???

  直接看配置文件吧:

#日志输出级别,输出到控制台和自定义文件
log4j.rootLogger=INFO,Console,OneFile
log4j.logger.org.hibernate.type.descriptor.sql.BasicBinder=TRACE
#log4j.logger.org.hibernate.type.descriptor.sql.BasicExtractor=TRACE
log4j.logger.org.hibernate.tool.hbm2ddl=DEBUG
#输出SQL语句调试日志 
log4j.logger.org.hibernate.SQL=DEBUG
# 控制台(console)
#设置stdout的日志输出控制台  
log4j.appender.Console=org.apache.log4j.ConsoleAppender
#输出日志到控制台的方式,默认为System.out 
log4j.appender.Console.Target=System.out
#灵活指定布局模式 
log4j.appender.Console.layout=org.apache.log4j.PatternLayout
#定义输出格式  
log4j.appender.Console.layout.ConversionPattern=[%p][%d{yyyy-MM-dd HH\:mm\:ss,SSS}][%c]%m%n
#文件输入OneFile
#每天产生一个日志文件
log4j.appender.OneFile=org.apache.log4j.DailyRollingFileAppender
#设置输出日志文件名称  
log4j.appender.OneFile.File=${catalina.base}/logs/ams_app.log
#设置OneFile的日志最大限制
log4j.OneFile.OneFile.MaxFileSize=10MB
#输出INFO级别以上的日志
log4j.appender.OneFile.Threshold=INFO
log4j.appender.OneFile.DatePattern='_'yyyy-MM-dd'.log'
#灵活指定布局模式
log4j.appender.OneFile.layout=org.apache.log4j.PatternLayout
#设置输出格式
log4j.appender.OneFile.layout.ConversionPattern=[%p][%d{yyyy-MM-dd HH\:mm\:ss,SSS}][%c]%m%n

  配置了DatePattern,我以为项目启动生成的日志文件应该是带有当天日志格式的,实时是错了,实际情况是,log4j.appender.OneFile.DatePattern=’_'yyyy-MM-dd’.log’ 每天生成一个日志文件,在整点后,会新增一个ams_app.log的日志文件,而历史的文件会加上这个日期后缀,正常的情况是:

ams_app.log
ams_app.log_2015-10-21.log
ams_app.log_2015-10-22.log

  So,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: 每分钟生成一次

  有时间还是多关注下项目的边角知识,尽管是一个很不起眼的配置。




    分享到:









点赞

发表评论

电子邮件地址不会被公开。 必填项已用 * 标注


*

您可以使用这些 HTML 标签和属性: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>