Скользящий файл Log4j2 перезаписывает существующий журнал - PullRequest
0 голосов
/ 12 октября 2018

У меня есть следующий файл конфигурации для Log4j2:

<?xml version="1.0" encoding="UTF-8"?>
<Configuration status="error" name="D3Hooks" packages="">
    <Appenders>
        <RollingFile append="true" name="RollingFile" fileName="D:\temp\logs\hooks.log" filePattern="hooks.log.%d{dd-MM-yyyy}.log">
            <Policies>
                <TimeBasedTriggeringPolicy />
            </Policies>
            <DefaultRolloverStrategy max="30"/>
            <PatternLayout pattern="%d{dd-MM-yyyy HH:mm:ss} %level %c.%m %ex{full} %n"/>
        </RollingFile>
    </Appenders>
    <Loggers>
        <Root level="trace">
            <AppenderRef ref="RollingFile"/>
        </Root>
    </Loggers>
</Configuration>

От этой конфигурации я ожидаю, что новый файл журнала создается ежедневно и сохраняется 30 файлов журнала.Вместо этого происходит только один файл журнала, который ежедневно перезаписывается.Что я делаю неправильно?

Ответы [ 2 ]

0 голосов
/ 14 октября 2018
<PatternLayout pattern="%d{dd-MM-yyyy HH:mm:ss} %level %c.%m %ex{full} %n"/>
        </RollingFile>

В файле журнала будет создаваться 1 файл в день, значение интервала которого равно 1, когда макет шаблона с шаблоном = "% d {yyyy-MM-dd}. Поскольку интервал зависит от имени файла журналаформат. Если имя файла имеет что-то вроде HH:mm:ss, он будет создавать файл в секунду.

0 голосов
/ 12 октября 2018

Для TimeBasedTriggeringPolicy вы должны установить интервал = "1" и modulate = "true".

См. Также Политика запуска по времени в log4j2

...