Disable logging for one exception
Asked Answered
N

3

7

I have a "Duplicate entry" exception, which logging SqlExceptionHelper. I need to disable logging only this exception. How can I do it?

Neoteny answered 26/8, 2015 at 8:56 Comment(0)
S
8

I am assuming you are using Log4j for your logging. You may want to explore ExpressionFilter.

I am appending a sample configuration, you can take it from there, hopefully.

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE log4j:configuration SYSTEM "log4j.dtd">
<log4j:configuration xmlns:log4j="http://jakarta.apache.org/log4j/" debug="false">
    <appender name="CONSOLE">
        <param name="Target" value="System.out"/>
        <layout>
            <param name="ConversionPattern" value="%d %p [%c] - %m%n"/>
        </layout>
        <filter class="org.apache.log4j.filter.ExpressionFilter">
            <param name="expression" value="EXCEPTION ~= SqlExceptionHelper" />
            <param name="acceptOnMatch" value="false"/>
        </filter>
    </appender>
    <root>
        <priority value ="INFO" />
        <appender-ref ref="CONSOLE"/>
    </root>
</log4j:configuration>
Shakti answered 26/8, 2015 at 9:2 Comment(2)
I can filter by text, or only by class?Neoteny
logging.apache.org/log4j/companions/apidocs/org/apache/log4j/…Shakti
P
3

If you are using log4j2

<Logger name="org.hibernate.engine.jdbc.spi.SqlExceptionHelper" level="OFF" additivity="false">
     <AppenderRef ref="Console" />
</Logger>
Pilatus answered 1/7, 2019 at 7:30 Comment(0)
G
-10

You can catch the exception and do nothing

try {                                              
      method();      

    } catch(ConstraintViolationException  e){}    
Greeting answered 26/8, 2015 at 9:5 Comment(2)
This exception throws in hibernate's saveOrUpdate method. I catch it later.Neoteny
It is a very bad habit to suppress exceptionsShakti

© 2022 - 2024 — McMap. All rights reserved.