每次重启jvm时,如何使log4j2创建不同的日志文件

时间:2014-11-05 09:50:17

标签: java log4j2

每次运行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>

2 个答案:

答案 0 :(得分:2)

从RollingFile中删除append="false"

答案 1 :(得分:0)

您可能发现了一个错误。我建议在Log4j2 Jira issue tracker上提出这个问题。


编辑:除OnStartupTriggeringPolicy外,您还需要指定TimeBasedTriggeringPolicy