java - 如何使用 java Logger 类记录堆栈跟踪

标签 java logging stack-trace java.util.logging

我正在使用 Java 的 Logger 类。我想将 ex.printStackTrace() 传递到 Logger.log(loglevel, String),但 printStackTrace() 返回 void。所以我无法传递和打印异常的堆栈跟踪。

有什么方法可以将 void 转换为 String,或者有没有其他方法可以打印整个异常堆栈跟踪?

最佳答案

你要明白void其实就是nothingness。你不能转换什么都不是。您最终可能会将 void 打印为字符串,但是(相信我),您不希望这样。

我认为你正在寻找的是

// assuming ex is your Exception object
logger.error(ex.getMessage(), ex);
// OR
Logger.log(errorLogLevel, ex.getMessage(), ex)

这将使用您配置的记录器打印错误消息。有关更多详细信息,您可以查看 Exception#getMessage() 的 java 文档。

关于java - 如何使用 java Logger 类记录堆栈跟踪,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31415147/

相关文章:

java - 在所有嵌套实体中选择几个 : SPRING JPA

java - Jtable 和 MySql

java - 使用 SL4J 进行日志记录、Jakarta Commons 日志记录、第三方库的 log4j 和我自己的代码

java - 为什么 exception.printStackTrace() 被认为是不好的做法?

kotlin - 如何只显示错误而不显示调用堆栈跟踪?

java - 使用正则表达式匹配多行日志文件中的每条消息

java - 宽度和高度是否随方向变化?

java - 如何通过生成随机电子邮件地址。 SQL Server 中的存储过程或函数

c# - Quickfix/n,如何禁用商店和日志工厂?

java - 使用 org.zalando.logbook 打印带有 multipart/form-data 的请求