В моей компании есть инструмент управления средой, который позволяет вам искать свойства из среды программно в Java. Я хочу использовать этот инструмент для настройки logback. Например, предположим, что у меня есть logback.xml, как указано ниже (в частности, раздел приложения файла):
<?xml version="1.0" encoding="UTF-8"?>
<configuration>
<!-- console appender -->
<appender name="CONSOLE" class="ch.qos.logback.core.ConsoleAppender">
<encoder>
<pattern>%d{yyyy-MM-dd/HH:mm:ss.SSS} [%thread] %-5level %logger{20}: %msg%n</pattern>
</encoder>
</appender>
<!-- file appender -->
<appender name="FILE" class="ch.qos.logback.core.FileAppender">
<file>${LOG_FILE:-/default/log/file/path</file>
<encoder>
<pattern>%d{yyyy-MM-dd/HH:mm:ss.SSS} [%thread] %-5level %logger{20}: %msg%n</pattern>
</encoder>
</appender>
<root level="DEBUG">
<appender-ref ref="CONSOLE" />
<appender-ref ref="FILE" />
</root>
</configuration>
Итак, в этом случае я хочу найти свойство LOG_FILE
из среды (или ОС, если вы это сделаете), и передать ее в журнал до того, как logback загрузит logback.xml, чтобы он знал значение of LOG_FILE
. Итак, как я могу это достичь? BTW, я знаю, как определить программный appender программно, но это не то, что я хочу здесь.
Большое спасибо.