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());
				}