logger.error完整打印错误堆栈信息
2017-07-31 11:32
525 查看
有时候logger.error不能完全地打印出网站的错误堆栈信息,只能打印这个错误是一个什么错误。
为什么?
看Logger.error源码
public void error(String msg, Throwable t);
public void error(String msg);
如果只传一个参数e进去,那么e就被认为是String类型(会自动调toString()方法把Exception转成String),而不是Exception类型。
如果想打印堆栈信息,那么必须传两个或以上参数,实际上就是为了调用public void
error(String msg, Throwable t);
所以我们的写法可以是:
Logger.error(“xxx出错”,e); //第二个参数是e
而不是:
Logger.error(“xxx出错:”+e) 或 logger.error(e) 或logger.error(e.getMessage);
为什么?
看Logger.error源码
public void error(String msg, Throwable t);
public void error(String msg);
如果只传一个参数e进去,那么e就被认为是String类型(会自动调toString()方法把Exception转成String),而不是Exception类型。
如果想打印堆栈信息,那么必须传两个或以上参数,实际上就是为了调用public void
error(String msg, Throwable t);
所以我们的写法可以是:
Logger.error(“xxx出错”,e); //第二个参数是e
而不是:
Logger.error(“xxx出错:”+e) 或 logger.error(e) 或logger.error(e.getMessage);
相关文章推荐
- 把e.printStackTrace的堆栈信息打印在log.error()中
- 打印错误的堆栈信息
- 用log4erl怎么获取 error_logger捕获到的OTP系统的错误信息?
- 怎么把堆栈错误信息打印到log中
- 如何将追踪到的堆栈错误信息完整的保存到log4j日志中
- Logger.error方法之打印错误异常的详细堆栈信息
- 把e.printStackTrace的堆栈信息打印在log.error()中
- 把e.printStackTrace的堆栈信息打印在log.error()中
- Java打印完整的堆栈信息
- 把e.printStackTrace的堆栈信息打印在log.error()中
- 把e.printStackTrace的堆栈信息打印在log.error()中
- python错误处理记录完整的异常堆栈信息
- backtrace&&backtrace_symbols 查找段错误 打印堆栈信息
- python错误处理记录完整的异常堆栈信息
- java线程--打印错误堆栈信息
- 把e.printStackTrace的堆栈信息打印在log.error()中
- curl 函数执行了之后返回false解决,打印错误信息返回PHP的Curl出现:curl call error(77): Problem with the SSL CA cert (path? ac
- php 文件上传 错误信息 总结 $_FILES['Filedata']["error"] 值枚举
- 获取iOS任意线程调用堆栈(五)完整实现:BSBacktraceLogger
- 打印函数调用堆栈 故意制造错误