我有多个配置文件在 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>
1条答案
按热度按时间aydmsdu91#
如果profilenames列表大小大于1,则只要有匹配项就表示成功。本地开发人员匹配!vsi公司。org.springframework.boot.logging.logback.springprofileaction#acceptsprofiles(解释上下文ic,属性)