每次运行java应用程序时,我想创建一个不同的日志文件。 我有以下配置。 我希望它会创建一个名为rf-yyyyMMdd-HHmmss.log的日志文件,其中yyyyMMdd-HHmmss是我启动java应用程序的时间。然而,它不起作用。 任何帮助将不胜感激!
<?xml version="1.0" encoding="UTF-8"?>
<configuration status="DEBUG">
<appenders>
<Console name="Console" target="SYSTEM_OUT">
<PatternLayout pattern="%d{HH:mm:ss.SSS} [%t] %-5level %logger{36} - %msg%n" />
</Console>
<RollingFile name="RF" filename="/home/sxd/rfjq/rf.log" immediateFlush="false" append="false" filePattern="/home/sxd/r\ q/rf-%d{yyyyMMdd-HHmmss}.log">
<PatternLayout pattern="[%p] %m%n" />
<Policies>
<OnStartupTriggeringPolicy />
</Policies>
</RollingFile>
</appenders>
<loggers>
<Logger name="model.ModelRF" level="trace">
<appender-ref ref="RF" />
</Logger>
<root level="trace">
<appender-ref ref="Console" />
</root>
</loggers>
</configuration>
答案 0 :(得分:2)
从RollingFile中删除append="false"
。
答案 1 :(得分:0)
您可能发现了一个错误。我建议在Log4j2 Jira issue tracker上提出这个问题。
编辑:除OnStartupTriggeringPolicy外,您还需要指定TimeBasedTriggeringPolicy。