Log4j2 создает новый файл с отдельным именем файла при каждом запуске JVM - PullRequest
0 голосов
/ 23 мая 2018

Мне нужно создавать новый файл журнала каждый раз, когда я запускаю JVM.

    <?xml version="1.0" encoding="UTF-8"?>
<Configuration status="WARN">
    <Appenders>
        <Console name="Console" target="SYSTEM_OUT">
            <PatternLayout pattern="%d{HH:mm:ss.SSS} [%t] %-5level %logger{36} - %msg%n" />
        </Console>
        <RollingFile name="roll-by-time" fileName="target/log4j2/roll-by-time/app.log"
            filePattern="target/log4j2/roll-by-time/app.%d{MM-dd-yyyy-HH-mm}.log"
            ignoreExceptions="false"
            append="false">
            <PatternLayout>
                <Pattern>%d{yyyy-MM-dd HH:mm:ss} %p %m%n</Pattern>
            </PatternLayout>
            <Policies>
                <OnStartupTriggeringPolicy />
            </Policies>
        </RollingFile>
    </Appenders>
    <Loggers>
        <Root level="trace">
            <AppenderRef ref="Console" />
            <AppenderRef ref="roll-by-time" />
        </Root>

    </Loggers>
</Configuration>

Я попробовал эту конфигурацию, но все, что она делает, это каждый раз перезаписывает файл, но мне нужно сделатьновый с отдельным именем файла, основанный на дате и / или времени.Пытался вставить %d{MM-dd-yyyy-HH-mm} в параметре fileName, но это не сработало.

1 Ответ

0 голосов
/ 24 мая 2018

Удалить append="false" из конфигурации приложения или установить его true -

<RollingFile name="roll-by-time" fileName="target/log4j2/roll-by-time/app.log"
            filePattern="target/log4j2/roll-by-time/app.%d{MM-dd-yyyy-HH-mm}.log"
            ignoreExceptions="false"
            append="true">
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...