В настоящее время я пытаюсь заставить мое веб-приложение генерировать только один файл журнала для одной конфигурации.
Пример.
with spring.profiles.active = "abc" будетсгенерировать только один файл log-abc.txt
С spring.profiles.active = "xyz" сгенерирует только один файл log-xyz.txt
я пытаюсь "еслиelse "в spring-logback.xml с lib Janino, но он не работает.
<appender name="STDOUT" class="ch.qos.logback.core.ConsoleAppender">
<layout class="ch.qos.logback.classic.PatternLayout">
<Pattern>%d ${APP_NAME} %-5level [%thread] %logger: %msg%n</Pattern>
</layout>
</appender>
<if condition='p("spring.profiles.active").equals("local")'>
<then>
<appender name="ROLLINGFILE" class="ch.qos.logback.core.rolling.RollingFileAppender">
<rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
<fileNamePattern>../${LOGDIR}/${APP_NAME}-log.%d{MM-dd-yyyy}.log</fileNamePattern>
<maxHistory>90</maxHistory>
</rollingPolicy>
<encoder>
<charset>utf-8</charset>
<Pattern>%d ${APP_NAME} %-5level [%thread] %logger: %msg%n</Pattern>
</encoder>
</appender>
<springProfile name="local">
<root level="debug">
<appender-ref ref="CONSOLE"/>
</root>
<logger name="co.jp.oha" additivity="false" level="debug,info,error,warn">
<appender-ref ref="ROLLINGFILE"/>
<appender-ref ref="STDOUT"/>
</logger>
</springProfile>
</then>
</if>
<if condition='p("spring.profiles.active").equals("ci")'>
<then>
<appender name="ROLLINGFILE_PROD" class="ch.qos.logback.core.rolling.RollingFileAppender">
<rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
<fileNamePattern>../${LOGDIR}/${APP_NAME}-prod-log.%d{MM-dd-yyyy}.log</fileNamePattern>
<maxHistory>90</maxHistory>
</rollingPolicy>
<encoder>
<charset>utf-8</charset>
<Pattern>%d ${APP_NAME} ${LOG_LEVEL_PATTERN:-%5p}: %msg%n</Pattern>
</encoder>
</appender>
<springProfile name="ci">
<logger name="co.jp.oha" additivity="false" level="info">
<appender-ref ref="ROLLINGFILE_PROD"/>
</logger>
</springProfile>
</then>
</if>
Код выше, вы можете увидеть два условия.Я сравниваю
p ("spring.profiles.active"). Equals ("myconfig")
при генерации log.txt, он не генерирует никаких файлов.
Настроить в application.properties
spring.profiles.active=local
Пожалуйста, помогите мне, где я не прав?
Спасибо!