码迷,mamicode.com
首页 > 其他好文 > 详细

如何获取e.printStackTrace()的内容

时间:2015-02-27 13:46:55      阅读:140      评论:0      收藏:0      [点我收藏+]

标签:

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

Java代码   技术分享
  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代码   技术分享
  1. java.lang.StringIndexOutOfBoundsException: String index out of range: -3  
  2.     at java.lang.String.substring(Unknown Source)  
  3.     at java.lang.String.substring(Unknown Source)  
  4.     at Getc.main(Getc.java:16)  
  5. ==========  
  6. java.lang.StringIndexOutOfBoundsException: String index out of range: -3  
  7.     at java.lang.String.substring(Unknown Source)  
  8.     at java.lang.String.substring(Unknown Source)  
  9.     at Getc.main(Getc.java:16)  

如何获取e.printStackTrace()的内容

标签:

原文地址:http://my.oschina.net/liting/blog/380374

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!