如何捕获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());
				}

你可能感兴趣的:(应用服务器)