如何捕获e.printStackTrace()的内容
e.printStackTrace()通常是打印在控制台或者服务器的log文件上,程序上生产环境后就不容易看到堆栈的内容了。在实际应用中需要人为控制错误信息的输出,比如记录到数据库中或者记录到自定义的log文件中。
下面是我在项目中的程序片断。
catch (Exception e) {log.writeLog("导入数据库失败 ==>保单号:" + chdrnum + " " + firsttmp+ " 源文件:" + filesArr[i]); e.printStackTrace(); StringWriter sw=new StringWriter(); e.printStackTrace(new PrintWriter(sw)); log.writeLog(" 错误原因:" + sw.toString());}