【发布时间】:2021-09-25 15:01:31
【问题描述】:
在 Spring Boot 中,如何添加针对任何 500 错误运行的额外服务器逻辑?我不想更改返回 500 错误的情况;我只是想添加一些额外的处理来在发生 500 时捕获一些崩溃信息。
我已经尝试过@ExceptionHandler 和类似的方法,但似乎无法为“任何会生成 500 的东西”添加处理程序。在我的搜索中,我似乎只能找到描述如何更改哪些异常产生 500 错误的文章,而不是更改发生 500 错误时发生的情况。
【问题讨论】:
-
因为 500 是流中未捕获异常的 HTTP 表示。所以你应该简单地使用@ExceptionHandler für Exception.class 然后相应地处理它。
-
@jAC 这根本不是真的,有很多定义明确的异常会返回 500 INTERNAL SERVER ERROR 你可以在这里看到一些github.com/spring-projects/spring-framework/blob/main/…
-
我要做的是改为编写一个过滤器,它将拦截所有包含 HttpStatus 500 的响应,然后在过滤器中进行日志记录。
-
@Toerktumlare - 啊,这可以工作。虽然我认为我手头上仍然没有异常来捕获它的堆栈跟踪?
标签: spring-boot