还在乱输出异常信息?异常输出规范

  • 输出Exceptions的全部Throwable信息,因为logger.error(msg)和logger.error(msg,e.getMessage())这样的日志输出方法会丢失掉最重要的StackTrace信息
try{
//do somethings ...
}catch (Exception e){
    log.error(e.getMessage());//错误
    log.error("xxx",e.getMessage());//错误
    log.error("xxx",e.toString());//错误
    log.error("xxx异常",e);//正确
}
  • 使用占位符,而不是字符串拼接,字符串较多时,对性能有影响
log.error("str:" + str + ", str2:" + str2, e);//错误
log.error("str:{}, str2:{}", str, str2, e);//正确
  • 不允许记录日志后又抛出异常,因为这样会多次记录日志,只允许记录一次日志
try{
//do somethings ...
}catch (Exception e){
    log.error("xxx异常",e);
    throw new Exception("xxx异常",e);
}
  • 不允许出现System print(包括System.out.println和System.error.println)语句
try{
//do somethings ...
}catch (Exception e){
    System.out.println(e.getMessage());//错误
    System.err.println(e.getMessage());//错误
    log.error("xxx异常",e);//正确
}

  • 不允许出现printStackTrace
try{
//do somethings ...
}catch (Exception e){
   e.printStackTrace();      //只能输出在控制台当中,日志文件看不到
}

 个人微信公众号,欢迎关注。

  • 3
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 3
    评论
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值