如何从 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:
如果有人能指出我如何从日志中删除此异常的方向,我会很高兴。
到目前为止我的想法:
- 编写一个 doFilter servlet,在异常到达记录器之前将其过滤掉
- 修改 java.util.logging 库文件以拒绝此特定异常
- 通过 log4j 路由所有 tomcat 日志并在那里过滤
JULI 支持 extending java.util.logging.Filter 的自定义过滤器。
- 写一个custom filter来阻止异常。对其进行单元测试,以便您知道它是否有效。
- Place the filter code in the Tomcat classpath.
- 修改 logging.properties 以在 FileHandler and ConsoleHandler 上安装自定义过滤器。
我遇到以下问题: 我们的 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:
如果有人能指出我如何从日志中删除此异常的方向,我会很高兴。
到目前为止我的想法:
- 编写一个 doFilter servlet,在异常到达记录器之前将其过滤掉
- 修改 java.util.logging 库文件以拒绝此特定异常
- 通过 log4j 路由所有 tomcat 日志并在那里过滤
JULI 支持 extending java.util.logging.Filter 的自定义过滤器。
- 写一个custom filter来阻止异常。对其进行单元测试,以便您知道它是否有效。
- Place the filter code in the Tomcat classpath.
- 修改 logging.properties 以在 FileHandler and ConsoleHandler 上安装自定义过滤器。