java日志异常类型

标签 java logging exception

由于代码块可能引发大量异常,我必须捕获通用异常,如下所示:

...
try {
    //some scandalous code
    scandalousMethod();
} catch (Exception e) {
    log.error(String.format("'%s'", e.class.getName())); //Need suggestions here
}
...

我需要记录 catch block 中捕获的异常类型。我认为 e.class.getName() 不起作用。有什么建议吗?

最佳答案

你只需要做:

e.getClass()

而不仅仅是e.classgetClass方法在 Object 上定义(因此它可用于所有引用类型)并在运行时查找对象的类型。

顺便说一句,我不知道您使用哪个日志框架,但大多数框架都有将异常作为参数的重载。这很有用,因为可以将记录器设置为打印完整的堆栈跟踪,而不仅仅是其方法。它会是这样的:

log.error("my specific message", e);

关于java日志异常类型,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20060340/

相关文章:

java - 使用 JpaRepository 接口(interface)。如何让 entitymanager 设置属性?

Java 类型不匹配,无法转换为将自身作为泛型类型返回

java - 如何将具有泛型的类型转换为java中的类?

java - getRaster 方法中出现数组越界异常

javascript - Python 返回上一页并记住元素

java - 从 Servlet 远程查找另一个 Glassfish

python - 复制的 ZODB 数据库上出现错误消息 "no handlers could be found for logger ZODB.FileStorage"

amazon-web-services - 存储桶日志文件的 S3 数据分区

python - 如何将中间件添加到 Pythons 记录器

c# - 在 c# 上从 c++ 获取字符串数组时出现 System.OutOfMemoryException