在特殊的应用程序事件中,我需要滚动日志文件并重命名为包含日期和时间的特定文件名。
这是我用来滚动文件的功能:
public void rollOver()
{
Enumeration el= Logger.getRootLogger().getAllAppenders();
while ( el.hasMoreElements() )
{
Appender a = (Appender) el.nextElement();
if (a instanceof RollingFileAppender)
{
((RollingFileAppender) a).rollOver();
}
}
}
这是 log4j.properties 配置:
log4j.appender.logfile=org.apache.log4j.RollingFileAppender
log4j.appender.logfile.File=mylog.log
log4j.appender.logfile.Threshold=ALL
log4j.appender.logfile.MaxFileSize=100MB
log4j.appender.logfile.MaxBackupIndex=4
log4j.appender.logfile.layout=org.apache.log4j.PatternLayout
log4j.appender.logfile.layout.ConversionPattern=%d %-4r [%t] %-5p %c %x - %m%n
目前,在rollOver
我拥有 name 的文件之后mylog.log.1
。如何使文件具有类似名称mylog_YYYMMDD_HHmmSS.log
?