Java日志出现异常,但没有完整的堆栈信息

Posted yeqfa

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Java日志出现异常,但没有完整的堆栈信息相关的知识,希望对你有一定的参考价值。

最近生产机器出现了NullPointException, 但是并没有给出详细的堆栈信息,这让大家很郁闷,一开始以为是日志工具配置有问题,结果同样的配置其他机器却是正常的,

   在网上找了几篇文章这篇虽然尝试可以解决问题,但是没搞懂究竟为什么这样设置,改动JVM默认配置是需要很大的勇气的哦。。。

   然后在stackoverflow上找到了这个答案,这个被采纳的答案里有个得票率最高的链接,点这里

   看了大半天终于搞明白了题主的意思了,

  不打印异常堆栈日志是因为JVM在多次遇到同一异常信息时,前几次会输出堆栈信息,后面就会主动优化掉,只反馈异常摘要信息,

  所以说我们只要往上翻翻以前的日志就可以看到该异常的具体信息,无需再设置JVM参数: -XX:-OmitStackTraceInFastThrow 或 -Xint参数了
技术分享图片

 


以上是关于Java日志出现异常,但没有完整的堆栈信息的主要内容,如果未能解决你的问题,请参考以下文章

线上异常日志没有堆栈信息

NullPointerException 没有堆栈

如何避免记录来自 Java 异常的敏感信息?

Slf4j打印异常的堆栈信息

java 中怎么将程序出现的异常信息保存到日志文件中

Java 线上服务记录异常日志