Невозможно получить имя файла в теге 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>