所有分类
  • 所有分类
  • 未分类

SpringBoot-打印详细栈信息的工具类

简介

本文介绍打印详细异常栈信息的工具类。

为什么要打印栈信息?

一句话:提高查问题的速度。

有些异常的message里没有详细的异常栈信息。比如:在抛出NullPointException时,message是null。用本工具可以获得方法的调用流程(堆栈信息),方便排查问题。

用了这个工具类,我定位一个空指针异常只需2分钟,而不用这个工具类的Java同事,他们是取的message,获取的是null,他们排查空指针问题的时间是好几个小时!

优点

栈异常信息很详细,排查速度很快

代码

此内容仅限VIP查看,请先
0

评论4

请先

  1. catch (Exception e) { e.printStackTrace(); } 直接这样捕获后打印出栈桢呢
    夜空中最亮的星 2024-05-12 0
    • 也可以,这是直接打印。本文的工具是将栈转为String,打印或者上传到ES等都可以。可以与日志组件结合起来:https://way2j.com/a/1709
      自学精灵 2024-05-12 0
  2. 感觉有点鸡肋啊,写程序时直接log.error(e.message)不行吗
    夜空中最亮的星 2024-05-10 0
    • e.message不够强大,所以我才写了此工具。e.message的缺点:1.抛出NullPointException时,message是空的,无法定位到错误位置。2.如果多个地方的message一样,或者抛异常的地方被多个地方调用,无法确认具体的调用栈。
      自学精灵 2024-05-10 0
显示验证码
没有账号?注册  忘记密码?

社交账号快速登录