【问题标题】:log4j files not rolling - Websphere 7, Windowslog4j 文件不滚动 - Websphere 7,Windows
【发布时间】:2013-03-11 15:07:20
【问题描述】:

我有一个使用 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 会看到该文件正在使用中并阻止它被移动。但我不确定。

任何人都知道日志文件不会滚动的任何原因吗?或者我的理论是否正确?

【问题讨论】:

    标签: log4j websphere websphere-7


    【解决方案1】:

    我的问题的解决方案是将 log4j 设置为 WebSphere 中的共享 jar 文件。每个单独的应用程序都有一个对 log4j 开放的文件描述符,防止日志在遇到 MaxFileSize 时滚动。

    一旦我将 log4j 设置为共享 jar 并退回服务器,日志就会按预期滚动。我对MaxFileSize 使用了多种尺寸对此进行了测试,一切都按预期工作。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2011-08-19
      • 1970-01-01
      • 2014-08-16
      • 2015-03-20
      • 1970-01-01
      • 1970-01-01
      • 2011-10-14
      相关资源
      最近更新 更多