繁体   English   中英

对一个异常禁用日志记录

[英]Disable logging for one exception

我有一个“重复条目”异常,它记录了SqlExceptionHelper 我只需要禁用记录这个异常。 我该怎么做?

我假设您使用 Log4j 进行日志记录。 您可能想探索ExpressionFilter

我正在附加一个示例配置,希望您可以从那里获取它。

<?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>

如果您使用的是 log4j2

<Logger name="org.hibernate.engine.jdbc.spi.SqlExceptionHelper" level="OFF" additivity="false">
     <AppenderRef ref="Console" />
</Logger>

您可以捕获异常并且什么都不做

try {                                              
      method();      

    } catch(ConstraintViolationException  e){}    

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM