一般要打印异常堆栈到日志中都是使用logger.error("message",e)这样来打印的,看了一下里面的实现,实际上是将异常的堆栈信息print到StringWriter然后又转到了logger.error(message)中,这里记录一下,方便以后自定义异常堆栈信息到指定位置
@Test
public void testPrintStackTrace(){
StringWriter buffer = new StringWriter();
PrintWriter out = new PrintWriter(buffer);
new RuntimeException("fake runtime exception!").printStackTrace(out);
System.out.println(buffer);
}
很多时候需要自定义异常的输出位置,这个方法还是很常用的.
网友评论