我使用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中使用
i解决了问题,日志层次结构导致了问题。
<appender name="ERROR" 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.ErrorFilter"> <criticalUUID>${uuid}</criticalUUID> <criticalEnvironment>${environment}</criticalEnvironment> </filter> </appender>
并删除
<appender name="WARN"