不要用占位符去打印异常堆栈信息

简单粗暴,看一下下面几种常见的错误写法,当然这个错误的前提是确实是想打印异常堆栈信息为前提

在这里插入图片描述

首先来看下error方法的接口定义
在这里插入图片描述
分析一下上面三种写法的后果

  • 异常会被当做参数传递解析成异常的类名入参,所以最终只会打印异常的类名
  • 这个写法不标准, 异常要打印,不需要占位符,但是如果只有一个参数的话不会有影响
  • 这个其实和1是一样的概念, 如果确实不想打印异常堆栈,这种写法没有问题, 如果想打印异常堆栈, 则应该只需要一个占位符, 然后传递业务参数,最后传异常类

总结

// 只打印异常堆栈
log.error("方法执行异常, 错误信息: ", e);
// 打印多个参数和异常堆栈
log.error("入参方法执行异常, uid={}, os={}, 异常信息: ", "001", "PC", e);
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值