把e.printStackTrace的堆栈信息打印在log.error()中
2013-03-13 16:08
351 查看
大家都知道,网站在运行的过程中,打印必要的log对记录网站的运行情况、从而分析程序问题是很重要的。在Java工程里面配置好log4j之后就可以进行log记录了。
log分为几个级别:error、info、debug、fatal,应根据网站的具体情况,配置合适的level。
例子:
log.error("libzone.cn exception:链接数据库出错")
log.info("libzone.cn exception:链接数据库出错")
log.debug("libzone.cn exception:链接数据库出错")
log.fatal("libzone.cn exception:链接数据库出错")。
有时候,我们有必要把出错时候的异常信息打印进log里面,例子:
}catch (Exception e){
e.printStackTrace();
log.error("libzone.cn exception:" + e);
//log.info("libzone.cn exception:" + e);
//log.debug("libzone.cn exception:" + e);
//log.fatal("libzone.cn exception:" + e);
}
以这种方式,指的是以"libzone.cn exception:" + e这种方式打印异常的时候,只会打印一个异常的概要信息,例子如下:
libzone.cn exception:com.BusinessException: java.lang.NullPointerException
有时候,这样的一个概要性的异常信息对于分析问题帮助不大,有可能我们想把异常的堆栈具体信息打印在log里面,那怎么在log.error()里面把e.printStackTrace的堆栈具体信息打印出来呢?这时候我们要以log.XXX(Object obj,Thowable e)这种方式,也就是要将异常对象作为第二个参数传递到log的方法中。例子如下:
}catch (Exception e){
e.printStackTrace();
log.error("libzone.cn exception:", e);
//log.info("libzone.cn exception:", e);
//log.debug("libzone.cn exception:", e);
//log.fatal("libzone.cn exception:", e);
}
这样,我们就可以在log日志里面看到类似于控制台(console)里面那样的异常详细信息了。
如果全部把异常详细打印出来,有可能造成日志文件会很大;打印概要信息,可能对分析问题帮助不大。应根据自己的实际情况,选择合适的方式。
log分为几个级别:error、info、debug、fatal,应根据网站的具体情况,配置合适的level。
例子:
log.error("libzone.cn exception:链接数据库出错")
log.info("libzone.cn exception:链接数据库出错")
log.debug("libzone.cn exception:链接数据库出错")
log.fatal("libzone.cn exception:链接数据库出错")。
有时候,我们有必要把出错时候的异常信息打印进log里面,例子:
}catch (Exception e){
e.printStackTrace();
log.error("libzone.cn exception:" + e);
//log.info("libzone.cn exception:" + e);
//log.debug("libzone.cn exception:" + e);
//log.fatal("libzone.cn exception:" + e);
}
以这种方式,指的是以"libzone.cn exception:" + e这种方式打印异常的时候,只会打印一个异常的概要信息,例子如下:
libzone.cn exception:com.BusinessException: java.lang.NullPointerException
有时候,这样的一个概要性的异常信息对于分析问题帮助不大,有可能我们想把异常的堆栈具体信息打印在log里面,那怎么在log.error()里面把e.printStackTrace的堆栈具体信息打印出来呢?这时候我们要以log.XXX(Object obj,Thowable e)这种方式,也就是要将异常对象作为第二个参数传递到log的方法中。例子如下:
}catch (Exception e){
e.printStackTrace();
log.error("libzone.cn exception:", e);
//log.info("libzone.cn exception:", e);
//log.debug("libzone.cn exception:", e);
//log.fatal("libzone.cn exception:", e);
}
这样,我们就可以在log日志里面看到类似于控制台(console)里面那样的异常详细信息了。
如果全部把异常详细打印出来,有可能造成日志文件会很大;打印概要信息,可能对分析问题帮助不大。应根据自己的实际情况,选择合适的方式。
相关文章推荐
- 把e.printStackTrace的堆栈信息打印在log.error()中
- 把e.printStackTrace的堆栈信息打印在log.error()中
- 把e.printStackTrace的堆栈信息打印在log.error()中
- 把e.printStackTrace的堆栈信息打印在log.error()中
- 把e.printStackTrace的堆栈信息打印在log.error()中
- log中打印e异常信息的堆栈
- logger.error完整打印错误堆栈信息
- 怎么把堆栈错误信息打印到log中
- log中打印exception 堆栈信息
- log显示error时的堆栈信息理解和分析
- Log技巧 打印上一个类名 调用流程 堆栈信息
- android 将堆栈信息通过log打印出来
- backtrace-----打印进程异常退出时的堆栈信息
- java线程--打印错误堆栈信息
- 轻松管理安卓应用中的log打印信息
- 随笔- printf不能打印log信息
- 打印堆栈信息
- Android初学之------Log 工具类,方便查看打印log的位置 类名信息
- jmap命令打印堆栈信息文件
- 打印函数调用的堆栈信息