zoukankan      html  css  js  c++  java
  • 如何获取e.printStackTrace()的内容

    e.printStackTrace()通常是打印在控制台的,但是,有时候程序上线了需要看这个堆栈的内容就不容易了,一来生产环境打印的东西很多或者很少,二来有时候无法直接查看到,这个时候就需要把这些内容记录下来,比如记录到数据库中,下面的方法可以完整记录。

     1 public static void main(String[] args) {
     2         try {
     3             String aa = "";
     4             System.out.println(aa.substring(3));
     5 
     6         } catch (Exception e) {
     7             e.printStackTrace();
     8             StringWriter sw = new StringWriter();
     9             e.printStackTrace(new PrintWriter(sw, true));
    10             String str = sw.toString();
    11             System.out.println("==========");
    12 
    13             System.out.println(str);
    14         }
    15     }

    打印的效果如下:

    java.lang.StringIndexOutOfBoundsException: String index out of range: -3
        at java.lang.String.substring(Unknown Source)
        at java.lang.String.substring(Unknown Source)
        at Getc.main(Getc.java:16)
    ==========
    java.lang.StringIndexOutOfBoundsException: String index out of range: -3
        at java.lang.String.substring(Unknown Source)
        at java.lang.String.substring(Unknown Source)
        at Getc.main(Getc.java:16)

    原文:http://mywork.iteye.com/blog/1138467

  • 相关阅读:
    全局配置策略
    RESTful api介绍
    AJAX
    django cookie session 自定义分页
    mysql 索引优化
    yii2 response响应配置
    Django中的信号
    django orm相关操作
    django orm介绍以及字段和参数
    django form和ModelForm组件
  • 原文地址:https://www.cnblogs.com/frank-quan/p/4442084.html
Copyright © 2011-2022 走看看