Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/logging/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java log4j:警告org.apache.log4j.RollingFileAppender中没有此类属性[rollingPolicy]_Java_Logging_Log4j_Slf4j_Apache Zookeeper - Fatal编程技术网

Java log4j:警告org.apache.log4j.RollingFileAppender中没有此类属性[rollingPolicy]

Java log4j:警告org.apache.log4j.RollingFileAppender中没有此类属性[rollingPolicy],java,logging,log4j,slf4j,apache-zookeeper,Java,Logging,Log4j,Slf4j,Apache Zookeeper,我正在使用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=zookeepe

我正在使用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

设法把它修好了。问题在于
org.apache.log4j.RollingFileAppender
。一旦我把它改成
org.apache.log4j.rolling.RollingFileAppender,它就工作了


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


它在org.apache.log4j.RollingFileAppender类中正好相反。它有MaxFileSize和maxBackupIndex字段,但没有rollingPolicy和rollingPolicy.fileNamePattern字段。它没有两种风格。

这可能只能从
1.2.17
中获得:而且这两个jar文件的版本应该是一致的。@即使我使用log4j-1.2.17.jar和apache-log4j-extras-1.2.17.jar,也存在同样的问题。请尝试
dailrollingfileappender
而不是:@Thil
dailrollingfileappender
按大小对文件进行旋转?查看org.apache.log4j.rolling.RollingFileAppender的代码,这个解决方案不会起作用。虽然类具有rollingPolicy和rollingPolicy.fileNamePattern字段,但它没有MaxFileSize和MaxBackupIndex文件。你检查错误日志了吗?它在org.apache.log4j.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