当程序运行异常时,e.printStackTrace()会打印出异常。但是很多时候我们希望将这些异常输出到日志中,以便往后可以随时查看到,可以通过这些异常快速的找到程序产生异常的代码。
那末有办法可以将异常的详细信息输出到文件吗?答案是肯定的。
程序:
public static String getTrace(Throwable t) {
StringWriter stringWriter= new StringWriter();
PrintWriter writer= new PrintWriter(stringWriter);
t.printStackTrace(writer);
StringBuffer buffer= stringWriter.getBuffer();
return buffer.toString();
}
调用方法:
try(){
}catch(IoException e)
e.printStackTrace();
logger.error(getTrace(e)); //将异常输出到文件
}