Ролловер возврата в файловой системе только для записи
У меня есть 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, и не переименовывает при опрокидывании.