Logback не разрешает шаблон даты имени файла при создании файлов журнала - PullRequest
0 голосов
/ 19 апреля 2019

У меня есть такой простой аппендир:

<appender name="errorAppender" class="ch.qos.logback.core.rolling.RollingFileAppender">
    <append>true</append>
    <file>logs/error-%d</file>
    <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
        <fileNamePattern>logs/archive/error-%d.gz</fileNamePattern>
        <MaxHistory>30</MaxHistory>
    </rollingPolicy>

    <encoder class="ch.qos.logback.classic.encoder.PatternLayoutEncoder">
        <Pattern>[%date{ISO8601}] [%X{requestId}] [%logger{0}] %msg%ex%n</Pattern>
    </encoder>

    <filter class="ch.qos.logback.core.filter.EvaluatorFilter">
        <evaluator class="ch.qos.logback.classic.boolex.OnMarkerEvaluator">
            <marker>MY_MARKER</marker>
        </evaluator>
        <onMatch>ACCEPT</onMatch>
        <onMismatch>DENY</onMismatch>
    </filter>
</appender>

Правильно создает файлы журналов, но они называются logs/error-%d вместо logs/error-2019-04-19. Я также пытался использовать шаблон logs/error-%d{yyyy-MM-dd}, но он выдает то же имя файла и не заменяет шаблон даты текущей датой.

Как заставить Logback создавать файлы с текущей датой вместо заполнителей?

Отладочная информация Logback: enter image description here

1 Ответ

1 голос
/ 19 апреля 2019

Попробуйте удалить <file>logs/error-%d</file>.Вы можете использовать этот формат: %d{yyyy-MM-dd}

...