Ролловер возврата в файловой системе только для записи

У меня есть Java-приложение, которое должно записывать свои лог-файлы в файловую систему только для записи. Текущая конфигурация регистрации имеет TimeBasedRollingPolicy, который переворачивается каждый день. К сожалению, ролловер не выполняется в файловой системе только для записи, поскольку переименование не допускается.

Можно ли настроить Logback так, чтобы он создавал файлы журналов с именем, которое уже содержит шаблон даты?

1 ответ

Хорошо, это было легко. Все, что мне нужно было сделать, это удалить элемент file из appender. Изменение конфигурации из этого:

<appender name="FILE"
    class="ch.qos.logback.core.rolling.RollingFileAppender">
    <file>logs/server.log</file>
    <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
       <fileNamePattern>logs/%d{yyyy-MM-dd}-server.log</fileNamePattern>
    ...

к этому

<appender name="FILE"
    class="ch.qos.logback.core.rolling.RollingFileAppender">
    <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
       <fileNamePattern>logs/%d{yyyy-MM-dd}-server.log</fileNamePattern>
    ...

Опуская элемент file, TimeBasedRollingPolicy просто использует имя, настроенное в элементе fileNamePattern, и не переименовывает при опрокидывании.

Другие вопросы по тегам