'Logback filter by class name
I am trying to create a class name filter in Logback, looking to exclude logs line from certain package names.
This is my logback-spring.xml. In this example I am trying to exclue every line from a stacktrack which could be from Undertow.
<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>
But, when I start the Spring Boot application, it stops itself.
Putting the flag debug=true in the XML, I've got this message:
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'
What am I doing wrong there? If I disable the filter, the application starts normally.
Sources
This article follows the attribution requirements of Stack Overflow and is licensed under CC BY-SA 3.0.
Source: Stack Overflow
| Solution | Source |
|---|
