我使用log4j2 2.7版本和 我有log4j2配置的appender应该每分钟翻转一次:
<Appenders>
<Console name="ConsoleAppender" target="SYSTEM_OUT" follow="true">
<PatternLayout pattern="${LOG_PATTERN}"/>
</Console>
<RollingFile name="File" fileName="C://api.log"
filePattern="C://ssvp-api.log//api.%d{yyyyMMdd.HHmm}.log">
<PatternLayout pattern="${LOG_PATTERN}"/>
<Policies>
<SizeBasedTriggeringPolicy size="50 MB"/>
<CronTriggeringPolicy schedule="0 0/1 * * * ?"/>
</Policies>
</RollingFile>
</Appenders>
但由于某些未知原因,我在日志翻转期间收到以下异常:
2018-06-06 14:52:00,018 Log4j2-TF-3-Scheduled-1 ERROR Unable to move file C:\api.20180606.1448.log to C:\api.20180606.1448.log: java.nio.file.NoSuchFileException C:\api.20180606.1448.log -> C:\api.20180606.1448.log
2018-06-06 14:52:00,019 Log4j2-TF-3-Scheduled-1 ERROR Unable to copy file C:\api.20180606.1448.log to C:\api.20180606.1448.log: java.nio.file.NoSuchFileException C:\api.20180606.1448.log
但是如果我用%i更新我的filePattern到 C://ssvp-api.log//api.%d {yyyyMMdd.HHmm} - %i.log 一切正常,但是我不希望在我的日志文件名中包含其他文件编号(例如,api.20180606.1448-1.log)
是否有机会避免在日志文件名中包含文件编号?
答案 0 :(得分:0)
最后,我发现log4j2 2.7版本包含一些与CronTriggeringPolicy功能相关的问题,它们是: https://issues.apache.org/jira/browse/LOG4J2-1487 https://issues.apache.org/jira/browse/LOG4J2-1640 更新到2.8.1版本解决了我的问题。