[英]Log4j2 Always writing to the same file after rollback
我正在尝试设置日志,使其每分钟旋转一次。 日期和时间戳有效,但是一旦触发翻转,新条目将被写入前一分钟的日志文件中。 即它没有在下一分钟创建一个新的日志文件。
例如。 在第一分钟内,条目将写入A2018-11-27 11:50.csv。在下一分钟,它仍会写入A2018-11-27 11:50.csv,即使它已经创建了名为2018- 11-27 11:50.csv.gz。 它应该创建一个新的日志文件A2018-11-27 11:51.csv。
有什么建议吗?
log4j2.xml
<?xml version="1.0" encoding="UTF-8"?>
<Configuration status="debug" monitorInterval="30">
<Console name="Console" target="SYSTEM_OUT">
<PatternLayout pattern="%d %-5p [%t] %C{2} (%F:%L) - %m%n"/>
</Console>
<Appenders>
<RollingFile name="HR0" fileName="../logs/m/A${date:yyyy-MM-dd hh:mm}.csv" filePattern="../logs/m/AAA ${date:yyyy-MM-dd hh:mm}.csv">
<CronTriggeringPolicy schedule="0 * * * * ?" />
</RollingFile>
</Appenders>
<Loggers>
<Root level="info">
<AppenderRef ref="Console"/>
</Root>
<Logger name="HR0" additivity="false" level="info">
<AppenderRef ref="HR0" />
</Logger>
</Configuration>
someJavafile.java
public class someJavafile {
private final Logger itsLoggerHR0 = LogManager.getLogger("HR0");
itsLoggerHR0.info("AAA");
}
我根据log4j2的这张吉拉票设法弄清楚了: https ://issues.apache.org/jira/browse/LOG4J2-1185
我将在这里发布我的工作解决方案。 我正在使用log4j2 2.11.1
解决方法是删除“ fileName”并在文件模式中使用%d而不是$
<RollingFile name="HR0" filePattern="../logs/measure/%d{yyyy-MM-dd hh:mm}.csv">
<CronTriggeringPolicy schedule="0 * * * * ?" />
</RollingFile>
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.