zoukankan      html  css  js  c++  java
  • 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());

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

  • 相关阅读:
    MongoDB Projection
    MongoDB 删除文档
    MongoDB 更新文档
    MongoDB 删除文档
    MongoDB 查询文档
    MongoDB 插入文档
    MongoDB 数据类型
    MongoDB 删除集合
    MongoDB 创建集合
    MongoDB 删除数据库
  • 原文地址:https://www.cnblogs.com/fang-s/p/3524712.html
Copyright © 2011-2022 走看看