Log4j2 основанный на времени и размерах скользящий файл appender - PullRequest
0 голосов
/ 07 ноября 2018

Я хочу, чтобы в log4j2 была стратегия, чтобы файл журнала работал на основе времени и размера. Такой, что он должен катиться ежедневно и когда размер достигает максимум 10 КБ (для целей тестирования). Для этого я попробовал следующий пример.

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE xml>
<Configuration status="warn">
    <Appenders>
        <RollingFile name="fileLogger" fileName="E:\\Aditya\LOGS\AppLog.log" filePattern="E:\\Aditya\LOGS\AppLog-%d{yyyy-MM-dd-HH-mm-ss}-%i.log">
            <PatternLayout>
                <pattern>[%-5level] %d{yyyy-MM-dd HH:mm:ss.SSS} [%t] %c{1} - %msg%n</pattern>
            </PatternLayout>
            <Policies>
                <TimeBasedTriggeringPolicy interval="1" modulate="true" />
                <SizeBasedTriggeringPolicy size="10KB" />
            </Policies>
        </RollingFile>
    </Appenders>
    <Loggers>
        <Root level="debug">
            <appender-ref ref="fileLogger" />
        </Root>
    </Loggers>
</Configuration>

Проблема с вышеуказанным конфигом заключается в том, что он катит файл каждую секунду. Чтобы решить эту проблему, я изменил

<RollingFile name="fileLogger" fileName="E:\\Aditya\LOGS\AppLog.log" filePattern="E:\\Aditya\LOGS\AppLog-%%d{yyyy-MM-dd-HH-mm-ss}-%%i.log">

TO

<RollingFile name="fileLogger" fileName="E:\\Aditya\LOGS\AppLog.log" filePattern="E:\\Aditya\LOGS\AppLog-%%d{yyyy-MM-dd}-%%i.log">

Теперь другая проблема заключается в том, что мои общие файлы журналов ограничиваются только 7 файлами в день. Я не знаю, почему это происходит, поскольку я не предоставил такую ​​конфигурацию. Может кто-нибудь помочь мне решить эту проблему? Заранее спасибо.

1 Ответ

0 голосов
/ 07 ноября 2018

Я думаю, что проблема с вашим шаблоном. Просто попробуйте эти шаблоны. % d {ЧЧ: мм: сс, SSS} или% d {дд МММ гггг ЧЧ: мм: сс, ССС}

Проверьте это: log4j узоры

...