Общее имя для активного файла журнала - PullRequest
0 голосов
/ 12 ноября 2018

У меня есть следующий logback.xml файл для моего приложения весенней загрузки, в котором я собираюсь создавать ежедневные файлы журнала:

<?xml version="1.0" encoding="UTF-8"?>
<configuration scan="true">
    <appender name="rollingFile" class="ch.qos.logback.core.rolling.RollingFileAppender">
        <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
            <!-- daily rollover -->
            <fileNamePattern>./logs/my-log-file.%d{yyyy-MM-dd}.log</fileNamePattern>
            <maxHistory>15</maxHistory>
            <totalSizeCap>15MB</totalSizeCap>
        </rollingPolicy>
        <layout class="ch.qos.logback.classic.PatternLayout">
            <Pattern>%d [%-5thread] [%-1p] [%logger{35}] - %msg%n</Pattern>
        </layout>
    </appender>

    <root level="WARN">
        <appender-ref ref="rollingFile"/>
    </root>
    <root level="INFO">
        <appender-ref ref="rollingFile"/>
    </root>
</configuration>

Файлы создаются следующим образом:

my-log-file.2018-11-10.log
my-log-file.2018-11-11.log
my-log-file.2018-11-12.log

Мне нужен текущий активный файл журнала без даты, поэтому это общее имя, например my-log-file.log, и только когда дата переносится на новый день, файл переименовывается с датой.

Какие изменения необходимы на logback.xml для включения этой конфигурации?

1 Ответ

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

Добавьте <file> к <appender>, например, так:

<appender name="rollingFile" class="ch.qos.logback.core.rolling.RollingFileAppender">
    <file>./logs/my-log-file.log</file>
    <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
        <!-- daily rollover -->
        <fileNamePattern>./logs/my-log-file.%d{yyyy-MM-dd}.log</fileNamePattern>
        <maxHistory>15</maxHistory>
        <totalSizeCap>15MB</totalSizeCap>
    </rollingPolicy>
    <layout class="ch.qos.logback.classic.PatternLayout">
        <Pattern>%d [%-5thread] [%-1p] [%logger{35}] - %msg%n</Pattern>
    </layout>
</appender>

Из Документации о регистрации :

Обратите внимание, что file свойство в RollingFileAppender (родительский элемент TimeBasedRollingPolicy) может быть установлено или опущено.Установив свойство file содержащего FileAppender, вы можете отделить расположение активного файла журнала и расположение архивированных файлов журнала.Текущие журналы всегда будут нацелены на файл, указанный в свойстве file.Отсюда следует, что имя текущего активного файла журнала не будет меняться со временем.Однако, если вы решите опустить свойство file, то активный файл будет вычисляться заново для каждого периода на основе значения fileNamePattern.

...