首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何找出是什么阻止了FileAppender正确地翻转

如何找出是什么阻止了FileAppender正确地翻转
EN

Stack Overflow用户
提问于 2017-06-17 04:55:07
回答 0查看 609关注 0票数 0

更新:有趣的是,我只看到下面的问题发生在Windows环境中,但在部署的每个Linux环境中,它都工作得很好。

我有一个带有Log4j 1.2.17和fileAppender的Spring应用程序(3.2),下面是配置

代码语言:javascript
复制
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调试模式

代码语言:javascript
复制
-Dlog4j.debug

我发现了以下问题作为症状

这就是日志记录过程正常工作的时候

代码语言:javascript
复制
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

这是附加器故障的开始

代码语言:javascript
复制
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+,并且不会生成任何其他日志。

但是现在我真的没有太多的方法可以深入地找出到底是什么导致了这个问题(第二个日志文件没有重命名,看起来像是放在文件上的日志)

EN

回答

页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/44597853

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档