關於java 異常的輸出位置

crastinger發表於2009-03-15

異常的printStackTrace()方法的預設輸出位置:
透過檢視Throwable類可以得知是系統錯誤輸出日誌

public void printStackTrace() {
printStackTrace(System.err);
}
如果在tomcat下就是
Tomcat 5.0logsstderr.log
如果在websphere下就是
IBMWebSphereAppServerprofilesAppSrv01logsserver1SystemErr.log
不過我們可以透過下面的方法重定向printStackTrace的輸出位置
看下面的例子:

try{
int i=10/0;
}
catch(Exception e){
FileWriter aa=new FileWriter("haha.txt");
PrintWriter p=new PrintWriter(aa);
e.printStackTrace( p) ;
//aa.flush();
aa.close();
}

[@more@]

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/21107256/viewspace-1018743/,如需轉載,請註明出處,否則將追究法律責任。

相關文章