java Exception 出错的栈信息打印到日志中 打印堆栈信息

  我们在开发程序的过程当中,日志是必不可少的工具,这有助于我们分析问题的原因,和出错的详细信息,而java的异常机制又会方便且迅速的帮我们找到出错行的位置。

try {

  ....

} catch (Exception e) {

  e.printStackTrace();

  log.err(e.getMessage());

   .....

}

  通常我们都会去这样找到出错的信息,而打印的出错的信息栈,因为会输出到std.err中,所以在我们自己定义的日志文件中是不能够找到的,为了解决这个问题,可以通过如下代码解决:

  

StringWriter sw = null;
PrintWriter pw = null;
try {
sw = new StringWriter();
pw = new PrintWriter(sw);
//将出错的栈信息输出到printWriter中
e.printStackTrace(pw);
pw.flush();
sw.flush();
} finally {
if (sw != null) {
try {
sw.close();
} catch (IOException e1) {
e1.printStackTrace();
}
}
if (pw != null) {
pw.close();
}
}
     log.err(sw.toString());

  当然上边的处理只是一个简单的示例,可以将上边的代码封装到一个处理异常的工具类中。

上一篇:CI,从数据库读取数据


下一篇:探究CSS中的包裹性