【发布时间】:2020-07-18 09:53:06
【问题描述】:
我使用 spring boot 应用程序,得到重复的错误级别日志,所以我添加了 additivity="false",它阻止了其他两个级别。
如下配置,
<configuration>
<property resource="application.properties" />
<springProperty scope="context" name="uuid" source="uuid"/>
<springProperty scope="context" name="environment" source="label"/>
<appender name="STDOUT" class="ch.qos.logback.core.ConsoleAppender">
<layout class="ch.qos.logback.classic.PatternLayout">
<Pattern>
%d{yyyy-MM-dd HH:mm:ss} [%thread] %-5level %logger{36} - %msg%n
</Pattern>
</layout>
</appender>
<appender name="ERROR" class="ch.qos.logback.core.ConsoleAppender">
<filter class="ch.qos.logback.classic.filter.ThresholdFilter">
<level>${logging.console.level:-ERROR}</level>
</filter>
<filter class="com.sample.ErrorFilter">
<criticalUUID>${uuid}</criticalUUID>
<criticalEnvironment>${environment}</criticalEnvironment>
</filter>
</appender>
<appender name="WARN" class="ch.qos.logback.core.ConsoleAppender">
<filter class="ch.qos.logback.classic.filter.ThresholdFilter">
<level>${logging.console.level:-WARN}</level>
</filter>
<filter class="com.sample.WarningFilter">
<warningUUID>${uuid}</warningUUID>
<warningEnvironment>${environment}</warningEnvironment>
</filter>
</appender>
<root level="DEBUG">
<appender-ref ref="ERROR"/>
<appender-ref ref="WARN"/>
<appender-ref ref="STDOUT"/>
</root>
<logger name="com.refinitiv" level="ERROR" additivity="false">
<appender-ref ref="ERROR" />
</logger>
</configuration>
有什么建议吗?
有什么建议吗?我尝试在 application.properties 中使用
【问题讨论】:
-
为什么要使用 XML 配置?
-
这是一个现有的设计,我需要增强一些水平。只是好奇,XML 和 application.properties 的使用有什么显着差异吗?
-
据我所知,不需要 XML。 application.properties 是有限的。所以如果你想做一些高级的东西,你需要 XML
-
XML内部使用了编码器,调用doLayout()。
标签: spring-boot slf4j spring-logback