gpt4 book ai didi

java - SLF4J-LOG4J 如何将未捕获的异常也保存在日志文件中

转载 作者:行者123 更新时间:2023-12-01 09:08:06 26 4
gpt4 key购买 nike


我在我的 java 应用程序中使用 slf4j/log4j。
我的问题是,目前我只能在 try catch 的 catch 部分调用适当的记录器方法来记录异常堆栈跟踪,例如:

catch (AnException ex) {
logger.error("An exception occurred", ex);
}

我想将运行时异常也放入日志文件中,但我没有为其添加任何 cacth,例如 NullPointerException 或 NumberFormatException。
正如它们在控制台中显示的那样,我猜想有一种方法可以将此流从控制台重定向到 SLF4J 记录器。
有人知道我该怎么做吗?

最佳答案

如果您想记录未经检查的异常,请捕获 RuntimeException并记录它们。
要记录所有异常,请捕获 Exception并记录它们。
要同时记录错误,请捕获 Throwable并记录它们。

对于命令行程序,您可能希望在 main() 方法中、在之后启动的 try block 中执行此操作> 初始化日志框架。

如果您使用线程,您需要在 Runnablerun() 方法中执行此操作/Thread .

在 Servlet Web 应用程序中,您可以在 Filter 中执行此操作,并重新抛出异常,以便容器可以正确处理错误。

关于java - SLF4J-LOG4J 如何将未捕获的异常也保存在日志文件中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41089670/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com