gpt4 book ai didi

java - 将 log4j 文件滚动到特定名称

转载 作者:行者123 更新时间:2023-12-01 14:02:38 25 4
gpt4 key购买 nike

在特殊的应用程序事件中,我需要滚动日志文件并将其重命名为包含日期和时间的特定文件名。

这是我用来滚动文件的函数:

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 之后,我有名为 mylog.log.1 的文件。如何使文件的名称类似于 mylog_YYYMMDD_HHmmSS.log

最佳答案

使用 DailyRollingFileAppender 而不是 RollingFileAppender。有关如何配置它的详细信息,请参阅此问题:Setting a log file name to include current date in Log4j

关于java - 将 log4j 文件滚动到特定名称,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19228695/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com