【问题标题】:log4j:WARN No such property [rollingPolicy] in org.apache.log4j.RollingFileAppenderlog4j:WARN 在 org.apache.log4j.RollingFileAppender 中没有这样的属性 [rollingPolicy]
【发布时间】:2017-07-09 07:18:24
【问题描述】:

我正在使用 log4j-1.2.16.jar 和 apache-log4j-extras-1.2.17.jar。

我想启用在文件名后附加日期的滚动文件。但是显示这个错误并且文件没有按预期旋转。

我的 log4j.properties 文件如下所示。

zookeeper.root.logger=DEBUG, ROLLINGFILE
zookeeper.console.threshold=DEBUG
zookeeper.log.dir=/path/to/logs
zookeeper.log.file=zookeeper.log
zookeeper.log.threshold=DEBUG
zookeeper.tracelog.dir=.
zookeeper.tracelog.file=zookeeper_trace.log
log4j.appender.ROLLINGFILE=org.apache.log4j.RollingFileAppender
log4j.appender.ROLLINGFILE.Threshold=${zookeeper.log.threshold}
log4j.appender.ROLLINGFILE.File=${zookeeper.log.dir}/${zookeeper.log.file}
log4j.appender.ROLLINGFILE.rollingPolicy=org.apache.log4j.rolling.TimeBasedRollingPolicy
log4j.appender.ROLLINGFILE.rollingPolicy.fileNamePattern=${zookeeper.log.dir}/app%d{yyyy-MM-dd}.log
log4j.appender.ROLLINGFILE.MaxFileSize=20KB
log4j.appender.ROLLINGFILE.MaxBackupIndex=100000
log4j.appender.ROLLINGFILE.layout=org.apache.log4j.PatternLayout
log4j.appender.ROLLINGFILE.layout.ConversionPattern=%d{ISO8601} [myid:%X{myid}] - %-5p [%t:%C{1}@%L] - %m%n

【问题讨论】:

  • 这可能只能从1.2.17:stackoverflow.com/a/6037141/14955获得,而且这两个jar文件的版本要对齐。
  • @Thilo 即使我使用 log4j-1.2.17.jar 和 apache-log4j-extras-1.2.17.jar,也存在同样的问题。
  • 改用DailyRollingFileAppenderstackoverflow.com/a/18920684/14955
  • @Thil DailyRollingFileAppender 不会按大小旋转文件吗?

标签: java logging log4j slf4j apache-zookeeper


【解决方案1】:

设法修复它。问题在于org.apache.log4j.RollingFileAppender 。一旦我将其更改为org.apache.log4j.rolling.RollingFileAppender

,它就起作用了
zookeeper.root.logger=DEBUG, ROLLINGFILE
zookeeper.console.threshold=DEBUG
zookeeper.log.dir=/path/to/logs
zookeeper.log.file=zookeeper.log
zookeeper.log.threshold=DEBUG
zookeeper.tracelog.dir=.
zookeeper.tracelog.file=zookeeper_trace.log
log4j.appender.ROLLINGFILE=org.apache.log4j.rolling.RollingFileAppender
log4j.appender.ROLLINGFILE.Threshold=${zookeeper.log.threshold}
log4j.appender.ROLLINGFILE.File=${zookeeper.log.dir}/${zookeeper.log.file}
log4j.appender.ROLLINGFILE.rollingPolicy=org.apache.log4j.rolling.TimeBasedRollingPolicy
log4j.appender.ROLLINGFILE.rollingPolicy.fileNamePattern=${zookeeper.log.dir}/app%d{yyyy-MM-dd}.log
log4j.appender.ROLLINGFILE.MaxFileSize=20KB
log4j.appender.ROLLINGFILE.MaxBackupIndex=100000
log4j.appender.ROLLINGFILE.layout=org.apache.log4j.PatternLayout
log4j.appender.ROLLINGFILE.layout.ConversionPattern=%d{ISO8601} [myid:%X{myid}] - %-5p [%t:%C{1}@%L] - %m%n

【讨论】:

  • 查看 org.apache.log4j.rolling.RollingFileAppender 的代码,这个解决方案是行不通的。虽然该类具有 rollingPolicy 和 rollingPolicy.fileNamePattern 字段,但它没有 MaxFileSize 和 MaxBackupIndex 文件。你检查错误日志了吗?在 org.apache.log4j.RollingFileAppender 类中是相反的。它只是没有两种口味。
【解决方案2】:

查看 org.apache.log4j.rolling.RollingFileAppender 的代码,它来自一个单独的 apache-log4j-extras 包,这个解决方案是行不通的.虽然该类具有 rollingPolicy 和 rollingPolicy.fileNamePattern 字段,但它没有 maxFileSizemaxBackupIndex 字段。你检查错误日志了吗?

org.apache.log4j.RollingFileAppender 类中是相反的。它有 MaxFileSizemaxBackupIndex 字段,但没有 rollingPolicyrollingPolicy.fileNamePattern 字段。它只是没有两种口味。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2013-09-28
    • 1970-01-01
    • 1970-01-01
    • 2016-08-28
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-07-14
    相关资源
    最近更新 更多