Weblogic日志过滤器自定义

时间:2014-02-04 09:49:49

标签: logging weblogic-10.x

在我的代码(catch-block)中处理它之前,EJB容器抛出并记录了一个异常,因此我决定对其进行过滤。所以,我正在尝试创建一个像解释here

的weblogic日志过滤器

只要我的过滤器看起来像这样,一切正常:

NOT(MESSAGE LIKE '%java.sql.SQLIntegrityConstraintViolationException%')

但是当我尝试更多地指定它时,例如我想要过滤哪个唯一约束它不会过滤任何东西。

例如,我试过了两个:

NOT(MESSAGE LIKE '%ORA-00001: unique constraint (SOME.UQ_MY_CONSTRAINT violated%')

 NOT(MESSAGE LIKE '%java.sql.SQLIntegrityConstraintViolationException: ORA-00001: unique constraint (SOME.UQ_MY_CONSTRAINT) violated%')

即使我试图逃避特殊字符,这些消息也会继续显示在日志中。

以下是Oracle configurational tutorial

1 个答案:

答案 0 :(得分:0)

在oracle documentation中有人说

  

...反斜杠字符(\)可用于转义特殊字符,例如引号(`)或百分号字符(%)......

但是他们没有提供特殊字符的完整列表(或者至少我找不到它)

这里的问题非常简单 - 我没有逃避括号 - (和)。因此,日志过滤器应如下所示:

NOT(MESSAGE LIKE '%java.sql.SQLIntegrityConstraintViolationException: ORA-00001: unique constraint \(SOME.UQ_MY_CONSTRAINT\) violated%')