Я использую проект весеннего ботинка.Как вставить активный профиль пружины в журнал
Окружающая среда:
ch.qos.logback:logback-core:jar:1.1.5
ch.qos.logback:logback-classic:jar:1.1.5
org.springframework.boot:spring-boot-starter-logging:jar:1.3.3.RELEASE
В моем проекте я использую свойство с application.yml (приложение-dev.yml и прикладным production.yml)
С расширением Spring Logback начинается до весны Я не могу вставить файл spring.profiles.active в файл logback.xml.
Это упрощенная версия моего файла logback.xml:
<configuration scan="true">
<property name="LOG_PATH" value="/var/log/" />
<property name="APP_NAME" value="xyz" />
<property name="PROFILE" value="-${spring.profiles.active}" />
<property name="CHARSET" value="utf-8" />
<property name="PATTERN" value="%d{HH:mm:ss.SSS} [%thread] %-5level %logger{36} - %msg%n" />
<appender name="APP-FILE" class="ch.qos.logback.core.rolling.RollingFileAppender">
<file>${LOG_PATH}${APP_NAME}${PROFILE}.log</file>
<encoder>
<charset>${CHARSET}</charset>
<Pattern>${PATTERN}</Pattern>
</encoder>
</appender>
<logger name="a.b.c" level="INFO">
<appender-ref ref="APP-FILE" />
</logger>
<root level="INFO">
<appender-ref ref="APP-FILE"/>
</root>
PROFILE Я ищу является собственностью spring.profiles.active.
Моя цель состоит в том, чтобы иметь файл журнала на каталог /вар/LOG в файлы хуг-DEV или хуг производство но я получаю АБВ-spring.profiles.active_IS_UNDEFINED.log вместо конечно ,
Подходы:
1 - Использование компонента, как:
@Component
public class InitializationService implements ApplicationListener<ContextRefreshedEvent> {
// inject spring profile active into logback.xml
}
не работает, конечно, так как расширение Logback весна начинается до применения Spring загрузки.
2 - Используя свойство на logback.xml как этот
<file>${LOG_PATH}${APP_NAME}${PROFILE}.log</file>
Результат является хуг-spring.profiles.active_IS_UNDEFINED.log
Если PROFILE является свойством с ключом для активного профиля, он должен работать – davidxxx
ПРОФИЛЬ, который я ищу, является свойством ** spring.profiles.active **, которое определено в application.yml или с помощью команды линия. – Leonel