logback-spring.xml不能处理多个概要文件

wxclj1h5  于 2021-07-23  发布在  Java
关注(0)|答案(1)|浏览(398)

我有多个配置文件在 Spring 启动应用程序,并试图使用3个不同的附录。
控制台附加器
控制台gva附加器
文件目的地
当我用“local”配置文件运行这个测试时,它同时使用“file”和“console”appender。我希望它应该使用唯一的文件追加器

<?xml version="1.0" encoding="UTF-8"?>
<configuration>
<include resource="org/springframework/boot/logging/logback/defaults.xml"/>
<include resource="org/springframework/boot/logging/logback/file-appender.xml"/>
<include resource="org/springframework/boot/logging/logback/console-appender.xml"/>

<springProperty scope="context" name="maskedProperty" source="gva.logs.masked.property"/>

<springProfile name="!vsi, gva-gaia, !local">

    <appender name="CONSOLE-GVA" class="ch.qos.logback.core.ConsoleAppender">
        <encoder class="ch.qos.logback.core.encoder.LayoutWrappingEncoder">
            <layout class="com.batch.logger.MaskingPatternLayout">
                <pattern>${CONSOLE_LOG_PATTERN}</pattern>
                <patternsProperty>${maskedProperty}</patternsProperty>
            </layout>
        </encoder>
    </appender>

    <root level="INFO">
        <appender-ref ref="CONSOLE-GVA"/>
    </root>
</springProfile>

<springProfile name="!vsi,!gva-gaia,!local">
    <root level="INFO">
        <appender-ref ref="CONSOLE"/>
    </root>
</springProfile>

<springProfile name="vsi,local">

    <appender name="FILE" class="ch.qos.logback.core.rolling.RollingFileAppender">
        <file>${LOG_PATH}/${LOG_FILE}</file>
        <encoder class="ch.qos.logback.core.encoder.LayoutWrappingEncoder">
            <layout class="com.batch.logger.MaskingPatternLayout">
                <pattern>${FILE_LOG_PATTERN}</pattern>
                <patternsProperty>${maskedProperty}</patternsProperty>
            </layout>
        </encoder>

        <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
            <fileNamePattern>${LOG_PATH}/batch.%d{yyyy-MM-dd}.log</fileNamePattern>
            <maxHistory>14</maxHistory>
        </rollingPolicy>
    </appender>

    <root level="INFO">
        <appender-ref ref="FILE"/>
    </root>
</springProfile>
aydmsdu9

aydmsdu91#

如果profilenames列表大小大于1,则只要有匹配项就表示成功。本地开发人员匹配!vsi公司。org.springframework.boot.logging.logback.springprofileaction#acceptsprofiles(解释上下文ic,属性)

<springProfile name="!local">
    <root level="INFO">
        <appender-ref ref="CONSOLE"/>
    </root>
</springProfile>

相关问题