【发布时间】:2021-09-10 20:00:36
【问题描述】:
假设我有简单的代码:
public static void Main(){
throw new NullPointerException("this is an npe");
}
如何使用 slf4j 确保将异常记录到日志文件中。您可以在应用程序属性或 logback 文件中设置 spring 中的默认设置,以确保捕获它,即使它不在 try catch 中?
请注意,我不是在寻找网络控制器的解决方案,或者如何使用 log.error()。我知道该怎么做。我正在寻找一个总体设置,以便我们不会在整个应用程序中丢失异常。这可以应用于 OOM,或打印堆转储等。我将 spring 作为标签包含在内,以防万一解决方案在 applications.properties 中,因为这是一个 spring 项目。
【问题讨论】:
-
那么您不是也在寻找全局异常处理程序吗?
-
当然。可以捕获每个异常的东西。我尝试做类似 Thread.setUncaught... 但它只适用于当前线程
-
我添加了一个答案,希望下面的帮助
标签: java spring-boot logging slf4j