Невозможно получить имя файла в теге FILE внутри приложения logback.xml

Я реализую регистратор с помощью slf4j. Хотите отправить журнал из определенного файла в определенное место. Например, я хочу передать журналы из TestLoggerController в имя файла в test.log. Я не хочу создавать несколько регистраторов. Вместо этого я хочу сделать это в конфигурации.

Мой пример кода в классе:

 private static final Logger LOG = LoggerFactory.getLogger(TestLoggerController.class);

Конфиг:

log.dir=/Users/abhinayag/Documents/code/logs
TestLoggerController.java=test.log

logback.xml:

 <appender name="FILE" class="ch.qos.logback.core.rolling.RollingFileAppender">
        <file>${log.dir}/$(%file).log</file>

        <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
            <!-- daily rollover. Make sure the path matches the one in the file element
                or else the rollover logs are placed in the working directory. -->
            <fileNamePattern>${log.dir}/APP_%d{yyyy-MM-dd_HH}.log
            </fileNamePattern>
          <!--  <timeBasedFileNamingAndTriggeringPolicy
                    class="ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP">
                <maxFileSize>5MB</maxFileSize>
            </timeBasedFileNamingAndTriggeringPolicy>-->
            <!-- keep 30 days' worth of history -->
            <maxHistory>30</maxHistory>
        </rollingPolicy>

        <encoder>
            <charset>UTF-8</charset>
            <Pattern>[APP:%d{yyyy-MM-dd HH:mm:ss},%d{SSS}] %-5level [%thread][%file:%L] %msg%n</Pattern>
        </encoder>
    </appender>

0 ответов

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