打印异常信息到日志

时间:2022-02-03 15:15:25

当程序运行异常时,e.printStackTrace()会打印出异常。但是很多时候我们希望将这些异常输出到日志中,以便日后可以随时查看到,可以通过这些异常快速的找到程序发生异常的代码。 
那么有办法可以将异常的详细信息输出到文件吗?答案是肯定的。 
程序: 

1 public static String getTrace(Throwable t) {   
2 StringWriter stringWriter= new StringWriter();   
3 PrintWriter writer= new PrintWriter(stringWriter);   
4 t.printStackTrace(writer);   
5 StringBuffer buffer= stringWriter.getBuffer();   
6 return buffer.toString();   
7 }   

 

  调用方法: 
 
1 try(){   
2 }catch(IoException e)   
3 e.printStackTrace();   
4 logger.error(getTrace(e)); //将异常输出到文件   
5 }