【发布时间】:2015-09-01 07:43:21
【问题描述】:
在 Web 应用程序(Spring 3.1.2 MVC)中,我需要拦截所有异常以将信息存储在数据库中。它就像一个记录器(它已经在 log4j.xml 文件中配置),但它的想法是将信息保存在特定的数据库表中。 那么如何按方面处理所有异常呢?通过过滤器?通过拦截器?不是@ControllerAdvice(自 Spring 3.2 起),因为该项目是使用 Spring 3.1 构建的。
第二次,当我捕捉到异常时,我该如何处理,如何检索大量信息:请求 url、引用 url、类、行、对象状态(类 + 值)?
为此存在一些框架(拦截和存储异常)?
【问题讨论】:
-
log4j 已经有一个数据库记录器,或者至少 logback 有一个。它将您记录的所有内容记录到数据库而不是文件中。要处理异常,您可以使用 after throwing 建议并进行日志记录。对于所有其他信息,请创建一个过滤器来设置 MDC 中的值。 (Logback 提供了一种开箱即用的方法)。
-
你试过用
@ExceptionHandler(Throwable.class)看吗?
标签: java spring spring-mvc exception web-applications