我已经审核了其他相关问题但未找到答案。 https://logging.apache.org/log4j/extras/apidocs/org/apache/log4j/rolling/RollingFileAppender.html处的javadoc似乎不正确和/或不完整。至少该元素看起来有一个虚假的双引号。 我在调试模式下启动它看起来都很好。但是,我找不到日志文件。我们有其他自定义appender工作正常,但我试图用OTB解决方案替换它们。 这是我的配置:
<appender name="file" class="org.apache.log4j.rolling.RollingFileAppender">
<param name="threshold" value="debug" />
<rollingPolicy name="file" class="org.apache.log4j.rolling.TimeBasedRollingPolicy">
<param name="FileNamePattern" value="logs/My_Server.%d{yyyy-MM-dd-hh}.log"/>
</rollingPolicy>
<layout class="org.apache.log4j.PatternLayout">
<param name="ConversionPattern" value="%d{ISO8601} %r [%t] %-5p %c{1} %x - %m%n"/>
</layout>
</appender>
<appender name="ASYNCfile" class="org.apache.log4j.AsyncAppender">
<param name="BufferSize" value="500"/>
<param name="blocking" value="false"/>
<appender-ref ref="file"/>
</appender>
<root>
<priority value="INFO"/>
<appender-ref ref="ASYNCfile"/>
<appender-ref ref="console"/>
</root>
调试控制台:
log4j: Attaching appender named [file] to appender named [ASYNCfile].
log4j: Class name: [org.apache.log4j.rolling.RollingFileAppender]
log4j: Setting property [threshold] to [DEBUG].
log4j: Setting property [fileNamePattern] to [logs/My_Server.%d{yyyy-MM-dd-hh}.log].
log4j: Parsing layout of class: "org.apache.log4j.PatternLayout"
log4j: Setting property [conversionPattern] to [%d{ISO8601} %r [%t] %-5p %c{1} %x - %m%n].
log4j: setFile called: logs/My_Server.2017-07-17-05.log, true
log4j: setFile ended
我在控制台输出中没有看到与此相关的任何错误 - 没有找到任何文件。