目前小弟有这样的需求,不知道能否通过Log4j配置实现:
1、每天固定生成日志,假定日志文件名称为:testA.log;
2、次日凌晨,生成新的日志testA.log,原日志名改为testB.log;
注:testA.log/testB.log只是举例,仅要求生成的日志文件名固定。
简单理解就是,日志只分为两类,一类是当天生成的日志,一类是历史生成的日志,分别有固定的文件名;
因为有另一程序定时处理历史日志,且处理完成之后,会将历史日志文件重命名,所以暂不考虑历史日志覆盖的问题。
时间 文件列表演进 【事件说明】
2012年12月12日 testA.log 【生成testA.log 】
2012年12月13日 testA.log,testB.log 【将testA.log 重命名为testB.log,新生成testA.log】
2012年12月13日 testA.log,testB.log.20121213 【下午定时程序启动,处理testB.log,并重名为testB.log.20121213】
2012年12月14日 testA.log,testB.log,testB.log.20121213 【如此往复。】
可以。log4j 你可以通过 配置文件去配置 每天生成一个日志文件,或者 当日志文件大于一定文件大小 后 从新生成
#应用于按日期生成文件
log4j.appender.DLOGFILE=org.apache.log4j.DailyRollingFileAppender
log4j.appender.DLOGFILE.File=d:\test.log
log4j.appender.DLOGFILE.Threshold=INFO
log4j.appender.DLOGFILE.DatePattern='.'yyyy-MM-dd
log4j.appender.DLOGFILE.layout=org.apache.log4j.PatternLayout
log4j.appender.DLOGFILE.layout.ConversionPattern=%d{yyyyMMdd-HH:mm:ss} %t %c %m%n
看看我这,能给你点启发
http://jslfl.iteye.com/blog/1172800