如何从 tomcat 7 日志记录中过滤异常? (java 实用日志记录)

How to filter an exception out of tomcat 7 logging? (java util logging)

我遇到以下问题: 我们的 webapp 是 运行 on tomcat 7 我有一个例外,我想过滤掉被写入日志文件。记录器在 logging.properties 文件中定义,

handlers = org.apache.juli.FileHandler, java.util.logging.ConsoleHandler

后跟目录、前缀和格式。

是否有可能阻止 tomcat 将异常写入文件和控制台?因为这就是现在发生的事情。我知道有 log4j 的日志过滤器,但我对 juli 一无所知。 抛出的异常是:

org.apache.catalina.core.StandardWrapperValve invoke 
SEVERE: Servlet.service() for servlet [default] in context with path [] threw exception [javax.servlet.ServletException: 

如果有人能指出我如何从日志中删除此异常的方向,我会很高兴。

到目前为止我的想法:

JULI 支持 extending java.util.logging.Filter 的自定义过滤器。

  1. 写一个custom filter来阻止异常。对其进行单元测试,以便您知道它是否有效。
  2. Place the filter code in the Tomcat classpath.
  3. 修改 logging.properties 以在 FileHandler and ConsoleHandler 上安装自定义过滤器。