【发布时间】:2022-07-13 13:12:35
【问题描述】:
我正在尝试在 Logback 中创建一个类名过滤器,希望从某些包名中排除日志行。
这是我的 logback-spring.xml。在这个例子中,我试图从可能来自 Undertow 的 stacktrack 中排除每一行。
<configuration scan="true" scanPeriod="30 seconds" debug="true">
<property name="DEFAULT_PATTERN"
value="[%thread][%-5level][%d{yyyy-MM-dd HH:mm:ss.SSS}][%logger{40}] - %msg%n"/>
<appender name="ConsoleAppender" class="ch.qos.logback.core.ConsoleAppender">
<filter class="ch.qos.logback.core.filter.EvaluatorFilter">
<evaluators>
<evaluator>
<expression>logger.equals("io.undertow")</expression>
</evaluator>
<OnMismatch>NEUTRAL</OnMismatch>
<OnMatch>DENY</OnMatch>
</evaluators>
</filter>
<layout class="ch.qos.logback.classic.PatternLayout">
<Pattern>${DEFAULT_PATTERN}</Pattern>
</layout>
</appender>
<root level="INFO">
<appender-ref ref="ConsoleAppender"/>
</root>
</configuration>
但是,当我启动 Spring Boot 应用程序时,它会自行停止。
将标志 debug=true 放入 XML 中,我收到以下消息:
16:44:37,859 |-INFO in ch.qos.logback.classic.joran.action.ConfigurationAction - Setting ReconfigureOnChangeTask scanning period to 30 seconds
16:44:37,867 |-INFO in ch.qos.logback.core.joran.action.AppenderAction - About to instantiate appender of type [ch.qos.logback.core.ConsoleAppender]
16:44:37,867 |-INFO in ch.qos.logback.core.joran.action.AppenderAction - Naming appender as [ConsoleAppender]
16:44:37,878 |-ERROR in ch.qos.logback.core.joran.spi.Interpreter@8:19 - no applicable action for [evaluators], current ElementPath is [[configuration][appender][filter][evaluators]]
16:44:37,879 |-INFO in ch.qos.logback.core.joran.action.NestedComplexPropertyIA - Assuming default type [ch.qos.logback.classic.boolex.JaninoEventEvaluator] for [evaluator] property
16:44:37,886 |-WARN in Logger[org.springframework.boot.context.logging.ClasspathLoggingApplicationListener] - No appenders present in context [default] for logger [org.springframework.boot.context.logging.ClasspathLoggingApplicationListener].
Disconnected from the target VM, address: '127.0.0.1:43411', transport: 'socket'
我在那里做错了什么?如果我禁用过滤器,应用程序将正常启动。
【问题讨论】:
标签: spring-boot logging logback