У меня есть исключение «Повторяющаяся запись», которое регистрирует SqlExceptionHelper
. Мне нужно отключить ведение журнала только этим исключением. Как мне это сделать?Отключить ведение журнала за одно исключение
1
A
ответ
2
Я предполагаю, что вы используете 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>
-1
Вы не можете поймать исключение и делать ничего
try {
method();
} catch(ConstraintViolationException e){}
+0
Это исключение генерирует метод saveOrUpdate в спящем режиме. Я поймаю его позже. – Squeez
+1
Это очень плохая привычка подавлять исключения – user1933888
Я могу фильтровать текст, или только по классу? – Squeez
http://logging.apache.org/log4j/companions/apidocs/org/apache/log4j/filter/ExpressionFilter.html – user1933888