更新:有趣的是,我只看到下面的问题发生在Windows环境中,但在部署的每个Linux环境中,它都工作得很好。
我有一个带有Log4j 1.2.17和fileAppender的Spring应用程序(3.2),下面是配置
log4j.rootCategory=TRACE, ROL
log4j.appender.ROL=org.apache.log4j.RollingFileAppender
log4j.appender.ROL.Encoding=UTF-8
log4j.appender.ROL.File=C:/logs/spring-app/application-log4j.log
log4j.appender.ROL.MaxFileSize=10000KB
log4j.appender.ROL.MaxBackupIndex=10
log4j.appender.ROL.layout=org.apache.log4j.PatternLayout
log4j.appender.ROL.layout.ConversionPattern=%d -- %p -- %c -- %m%n由于某些原因,我发现日志文件有时会停止滚动并变得非常大,因此我添加了log4j调试模式
-Dlog4j.debug我发现了以下问题作为症状
这就是日志记录过程正常工作的时候
log4j: rolling over count=10332832
log4j: maxBackupIndex=10
log4j: Renaming file C:\logs\spring-app\application-log4j.log.9 to C:\logs\spring-app\application-log4j.log.10
log4j: Renaming file C:\logs\spring-app\application-log4j.log.8 to C:\logs\spring-app\application-log4j.log.9
log4j: Renaming file C:\logs\spring-app\application-log4j.log.7 to C:\logs\spring-app\application-log4j.log.8
log4j: Renaming file C:\logs\spring-app\application-log4j.log.6 to C:\logs\spring-app\application-log4j.log.7
log4j: Renaming file C:\logs\spring-app\application-log4j.log.5 to C:\logs\spring-app\application-log4j.log.6
log4j: Renaming file C:\logs\spring-app\application-log4j.log.4 to C:\logs\spring-app\application-log4j.log.5
log4j: Renaming file C:\logs\spring-app\application-log4j.log.3 to C:\logs\spring-app\application-log4j.log.4
log4j: Renaming file C:\logs\spring-app\application-log4j.log.2 to C:\logs\spring-app\application-log4j.log.3
log4j: Renaming file C:\logs\spring-app\application-log4j.log.1 to C:\logs\spring-app\application-log4j.log.2
log4j: Renaming file C:\logs\spring-app\application-log4j.log to C:\logs\spring-app\application-log4j.log.1
log4j: setFile called: C:/STS/STS.3.2.0/logs/spring-app/application-log4j.log, true
log4j: setFile ended这是附加器故障的开始
log4j: rolling over count=10332832
log4j: maxBackupIndex=10
log4j: Renaming file C:\logs\spring-app\application-log4j.log.9 to C:\logs\spring-app\application-log4j.log.10
log4j: Renaming file C:\logs\spring-app\application-log4j.log.8 to C:\logs\spring-app\application-log4j.log.9
log4j: Renaming file C:\logs\spring-app\application-log4j.log.7 to C:\logs\spring-app\application-log4j.log.8
log4j: Renaming file C:\logs\spring-app\application-log4j.log.6 to C:\logs\spring-app\application-log4j.log.7
log4j: Renaming file C:\logs\spring-app\application-log4j.log.5 to C:\logs\spring-app\application-log4j.log.6
log4j: Renaming file C:\logs\spring-app\application-log4j.log.4 to C:\logs\spring-app\application-log4j.log.5
log4j: Renaming file C:\logs\spring-app\application-log4j.log.3 to C:\logs\spring-app\application-log4j.log.4
log4j: Renaming file C:\logs\spring-app\application-log4j.log.2 to C:\logs\spring-app\application-log4j.log.3
#Apparently fail the rename log.1 -> log.2
log4j: Renaming file C:\logs\spring-app\application-log4j.log to C:\logs\spring-app\application-log4j.log.1
log4j: setFile called: C:/STS/STS.3.2.0/logs/spring-app/application-log4j.log, true
log4j: setFile ended这个问题使得旧的日志(log.3 ~ log.9)逐渐通过重命名而消失,只留下第一个日志-- application-log4j.log。因此,这个文件可以疯狂地增长到1 GB+,并且不会生成任何其他日志。
但是现在我真的没有太多的方法可以深入地找出到底是什么导致了这个问题(第二个日志文件没有重命名,看起来像是放在文件上的日志)
https://stackoverflow.com/questions/44597853
复制相似问题