我的java应用程序使用log4j 1.2.17来记录日志。 这是我的log4j.properties
log4j.rootLogger=DEBUG, stdout
log4j.appender.stdout=org.apache.log4j.ConsoleAppender
log4j.appender.stdout.Target=System.out
log4j.appender.stdout.layout=org.apache.log4j.PatternLayout
log4j.appender.stdout.layout.ConversionPattern=%d{yyyy-MM-dd HH:mm:ss} %-5p
%c{1}:%L - %m%n
log4j.appender.debugLog=sim.convert.log.RollingFileAppender
log4j.appender.debugLog.File=C:/log/batch01.log
log4j.appender.debugLog.layout=org.apache.log4j.PatternLayout
log4j.appender.debugLog.layout.ConversionPattern=%d [%24F:%t:%L] - %m%n
log4j.appender.debugLog.MaxFileSize=10MB
log4j.appender.debugLog.encoding=UTF-8
log4j.appender.debugLog.MaxBackupIndex=2
log4j.appender.debugLog.layout.ConversionPattern=%d{yyyy-MM-dd HH:mm:ss}
%-5p %c{1}:%L - %m%n
它将创建备份文件是batch01.log.1。但我需要备份的文件名是“batch_yyyy-MM-dd.log.1” 我怎么能这样做,请帮助我谢谢。
答案 0 :(得分:0)
您可以使用DailyRollingFileAppender而不是RollingFileAppender
log4j.appender.serverAccess=org.apache.log4j.DailyRollingFileAppender
#log4j.appender.serverAccess=org.apache.log4j.RollingFileAppender
log4j.appender.serverAccess.DatePattern='.'yyyy-MM-dd
答案 1 :(得分:0)
非常感谢你们。我解决了我的问题,创建一个java类CustomLog扩展RollingFileAppender并覆盖subAppend()函数来检查和更改备份文件名