Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

How to filter certain type of exceptions in logback

Tags:

logback

I used some exceptions to handle some validation logic. The thing is that spring boot (1.5) with logback logs all exceptions by default.

Can you help me with the properties to add in the in logback.xml.

like image 764
Nikos Avatar asked Sep 03 '25 14:09

Nikos


1 Answers

Add filter with expression in your logback xml. Below you will find logback xml. Apart from this you have to add janino dependency in your pom.xml

<!-- logback -->
    <dependency>
            <groupId>org.codehaus.janino</groupId>
            <artifactId>janino</artifactId>
            <version>2.5.16</version>
        </dependency>


    <dependency>
        <groupId>ch.qos.logback</groupId>
        <artifactId>logback-classic</artifactId>
        <version>1.1.2</version>
    </dependency>
    <dependency>
        <groupId>ch.qos.logback</groupId>
        <artifactId>logback-core</artifactId>
        <version>1.1.2</version>
    </dependency>

logback.xml

<appender name="STDOUT" class="ch.qos.logback.core.ConsoleAppender">

    <encoder>
        <pattern>%d{HH:mm:ss.SSS} [%thread] %-5level %logger{5} - %msg%n
        </pattern>
    </encoder>
</appender>


<appender name="test" class="ch.qos.logback.core.ConsoleAppender">

    <encoder>
        <pattern>%d{yyyy-MM-dd HH:mm:ss} [%thread] %-5level %logger{35} - %msg%n</pattern>

    </encoder>
    <filter class="ch.qos.logback.core.filter.EvaluatorFilter">
        <evaluator>
            <expression>return  (message.contains("javax.management.InstanceAlreadyExistsException"));
            </expression>
        </evaluator>
        <OnMismatch>NEUTRAL</OnMismatch>
        <OnMatch>DENY</OnMatch>

    </filter>

</appender>



<logger name="com.logbacke.example"
    level="ERROR" additivity="false">

    <appender-ref ref="test" />
</logger>

<!-- By default, the level of the root level is set to DEBUG -->
<root level="DEBUG">
    <appender-ref ref="STDOUT" />
</root>

like image 138
Narayan Yerrabachu Avatar answered Sep 05 '25 14:09

Narayan Yerrabachu