码迷,mamicode.com
首页 > 其他好文 > 详细

在error日志打印异常

时间:2019-08-28 01:03:13      阅读:94      评论:0      收藏:0      [点我收藏+]

标签:article   ref   参考   nts   控制台   使用   tps   owa   str   

在日志中打印异常,经常会看到以下的写法:

logger.error(e.getMessage());

或者是:

e.printStackTrace();

这两种其实都不太好。
e.getMessage只会打印出异常的类型,但是不会显示出错的异常方法堆栈,无法在日志中找出错误代码
而e.printStackTrace();则是将异常打印到控制台,并不是打印到error日志中。

解决方法

看logger.error源码,可以发现:

public void error(String msg, Throwable t);

public void error(String msg);

如果想在error日志中打印异常,可以使用第一种。

    logger.error(“xxx出错”,e);   //第二个参数是Exception

注意,方法有两个参数,通过逗号隔开,而不是用加号连接。
也就是说,并不是logger.error(“xxx出错:”+e) 或 logger.error(e) 或logger.error(e.getMessage());

示例如下:

try{

}catch(Exception e) {
        logger.error(“xxx出错:”,e) 
}

参考资料:
https://blog.csdn.net/heweimingming/article/details/76423186

在error日志打印异常

标签:article   ref   参考   nts   控制台   使用   tps   owa   str   

原文地址:https://www.cnblogs.com/expiator/p/11421596.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!