java - 如何在 JAVA 中查看完整的异常日志?

标签 java exception-logging

<分区>

当我使用命令 java ExceptionTest 运行一些 java 程序时,异常有时会被省略,看起来像

Exception in thread "main" java.lang.NoClassDefFoundError: aa/bb/DD
        at SOMEWHERE(unknown source)
Caused by: java.lang.ClassNotFoundException: aaa.bbb.CC
        at SOMEWHER(unknown source)
        ... 13 more

在这种情况下,我希望再看到 13 个异常。是否有查看所有异常日志的选项?

最佳答案

你已经看到它们了,这只是 Java(和默认的 Logback)默认打印异常的荒谬方式。此堆栈跟踪:

Exception in thread "main" java.lang.NoClassDefFoundError: aa/bb/DD
        at SOMEWHERE(unknown source)
Caused by: java.lang.ClassNotFoundException: aaa.bbb.CC
        at SOMEWHER(unknown source)
        ... 13 more

其实就是下面的程序流程(从下往上):

Caused by: java.lang.ClassNotFoundException: aaa.bbb.CC
        at SOMEWHER(unknown source)
Exception in thread "main" java.lang.NoClassDefFoundError: aa/bb/DD
        at SOMEWHERE(unknown source)

... 13 more(N common frames omitted in Logback)仅表示这些异常之前已打印。在 Logback 中,您可以重组堆栈轨道以避免重复并始终以正确的顺序打印堆栈行,请参阅 my blog .

关于java - 如何在 JAVA 中查看完整的异常日志?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12226375/

相关文章:

asp.net-4.0 - Asp.net 4.0 : How to get exception details in custom error page?

java - JACOB 获取窗口的 HWND

java - Windows 如何剪切文件、更改路径或传输完整数据

java - 如何使用 jpa (hibernate) 从表中仅选择 postgres jsonb 列

Java servlet 故意抛出 http 500 错误

java - 对一个异常禁用日志记录

.net - 区分异常并确定要记录的内容

c# - Elmah:如何从错误报告中获取 JSON HTTP 请求正文

java - Android上的HttpURLConnection什么时候真正调用请求