log4j 为日志随机创建 .tmp 文件

log4j creating .tmp file for logs randomly

我的应用日志配置如下

log4j.rootLogger=INFO,file
# Redirect log messages to a log file
log4j.appender.file=org.apache.log4j.RollingFileAppender

#outputs to Tomcat home
log4j.appender.file.File=/home/mylocation/app.log
log4j.appender.file.MaxFileSize=2048MB
log4j.appender.file.MaxBackupIndex=20
log4j.appender.file.layout=org.apache.log4j.PatternLayout
log4j.appender.file.layout.ConversionPattern=%d{yyyy-MM-dd HH:mm:ss} %-5p %c{1}:%L - %m%n

它创建日志文件并在每天午夜将其压缩,但我可以随机观察到在我的日志文件夹中创建了 .tmp 文件,而那天没有创建 zip。 有人观察到类似的行为吗? 或者任何可能的原因,以便我可以处理它或相应地更改我的日志配置。

如果不是每天都达到 MaxFileZize,RollingFileAppender 只会创建一个新的日志文件。

RollingFileAppender extends FileAppender to backup the log files when they reach a certain size.

此外,zip 文件的创建不是由 log4j 完成的。必须有另一个 Prozess,它将压缩日志文件。

如果你每天都需要一个新的日志文件,你必须使用 DailyRollingFileAppender

DailyRollingFileAppender extends FileAppender so that the underlying file is rolled over at a user chosen frequency