Почему если еще Янино в весенне-отставании не работает - PullRequest
0 голосов
/ 04 октября 2018

В настоящее время я пытаюсь заставить мое веб-приложение генерировать только один файл журнала для одной конфигурации.

Пример.

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

Пожалуйста, помогите мне, где я не прав?

Спасибо!

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...