我有一个使用 log4j 在 Windows 服务器环境中的 Websphere 上运行的应用程序。系统正在记录并且似乎遵守 log4j.properties 中定义的 MaxFileSize 限制(20KB - 见下文),但没有滚动日志文件。相反,它只是覆盖现有的日志文件。
这是我在 Websphere 中定义的 log4j.properties 文件:
log4j.rootLogger=debug, file
log4j.appender.file=org.apache.log4j.RollingFileAppender
log4j.appender.file.File=F:\\<log_file_directory\\<log_file_name>.log
log4j.appender.file.MaxFileSize=20KB
log4j.appender.file.MaxBackupIndex=50
log4j.appender.file.Append=true
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
我的理论是,当 log4j 尝试滚动文件时,应用程序/JVM 会保留对日志文件的引用,并且 Windows 看到该文件正在使用中并阻止它被移动。但我不确定这一点。
任何人都看到日志文件不会滚动的任何原因?或者我的理论是否正确?