记录详细的异常堆栈信息
2019-04-16 11:18
274 查看
版权声明:本文为博主原创文章,遵循 CC 4.0 by-sa 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/weixin_44328580/article/details/89329827
说明
通常在catch到异常的时候,我们会使用error的日志级别打印一条异常日志,方便问题排查,但我们发现使用e.getMessage()获取异常信息时,经常会返回为null的情况,这对我们排查问题无法提供帮助。下面介绍下日志打印详细堆栈信息的方式
@Slf4j public class ExceptionUtil { /** * 记录异常详细的堆栈信息 * * @param e * @return */ public static String recordExceptionMessage(Exception e) { StringWriter stringWriter = new StringWriter(); e.printStackTrace(new PrintWriter(stringWriter, true)); return StringUtils.isBlank(stringWriter.toString()) ? "暂无异常信息" : stringWriter.toString(); } public static void main(String[] args) { try { throw new NullPointerException(); } catch (Exception e) { log.error("打印下异常信息:{}", e.getMessage()); log.error("打印下详细的堆栈信息:{}", recordExceptionMessage(e)); } } }
查看日志:
11:08:36.762 [main] ERROR com.bohui.util.ExceptionUtil - 打印下异常信息:null 11:08:36.769 [main] ERROR com.bohui.util.ExceptionUtil - 打印下详细的堆栈信息:java.lang.NullPointerException at com.bohui.util.ExceptionUtil.main(ExceptionUtil.java:32)
相关文章推荐
- 日志记录异常堆栈详细信息
- 谈谈什么时候应该记录异常堆栈信息。
- java的异常(Exception)信息的详细记录
- 在程序异常中记录堆栈信息
- java的异常(Exception)信息的详细记录
- 如何记录异常的 堆栈信息
- python错误处理记录完整的异常堆栈信息
- python错误处理记录完整的异常堆栈信息
- 在程序异常中记录堆栈信息(使用ExWatcher)
- 程序异常时通过dump文件记录下异常的详细信息
- java的异常(Exception)信息的详细记录
- java的异常(Exception)信息的详细记录
- java的异常(Exception)信息的详细记录
- logback异常输出详细信息(调用堆栈)
- 异常详细信息: System.InvalidOperationException: 对象的当前状态使该操作无效
- Android笔记 - 如何避免ActivityNotFound异常,查看Activity堆栈信息,获取进程名
- 编程必备*错误异常信息记录工具—log4j使用方法
- 异常日志没有堆栈信息
- 异常详细信息: System.Data.SqlClient.SqlException: 无法打开物理文件 。。。 操作系统错误 32:"32(另一个程序正在使用此文件,进程无法访问。
- 输入字符串的格式不正确(异常详细信息: System.FormatException: 输入字符串的格式不正确。)