java Exception出错的栈信息打印到日志中
2017-03-18 10:53
309 查看
try { .... } catch (Exception e) { e.printStackTrace(); log.err(e.getMessage()); ..... }
通常我们都会去这样找到出错的信息,而打印的出错的信息栈,因为会输出到std.err中,所以在我们自己定义的日志文件中是不能够找到的,为了解决这个问题,可以通过如下代码解决:
public static String errInfo(Exception e) { StringWriter sw = null; PrintWriter pw = null; try { sw = new StringWriter(); pw = new PrintWriter(sw); // 将出错的栈信息输出到printWriter中 e.printStackTrace(pw); pw.flush(); sw.flush(); } finally { if (sw != null) { try { sw.close(); } catch (IOException e1) { e1.printStackTrace(); } } if (pw != null) { pw.close(); } } return sw.toString(); }
e.getMessage(); 只会获得具体的异常名称. 比如说NullPoint 空指针,就告诉你说是空指针
e.printStackTrace();会打出详细异常,异常名称,出错位置,便于调试用..
相关文章推荐
- java Exception 出错的栈信息打印到日志中 打印堆栈信息
- java Exception 出错的栈信息打印到日志中 打印堆栈信息
- Android学习第三篇;在java,c++,c中用日志方法打印信息
- 打印java异常堆栈信息到日志文件
- java.lang.NullPointerException:null 没有打印出任何堆栈信息的解决办法
- java如何LOG打印出日志信息
- 打印出所有的Java异常信息栈信息 stacktrace exception message ... 3 more
- 使用rcp自带console打印日志信息
- JAVA如何在任意方法中打印当前线程栈信息(StackTrace)
- java 中关于 Exception 的几种打印输出 和 StringTokenizer 的用法
- java.lang.NullPointerException异常,没有输出stackTrace的信息
- webservice Axis发布deploy.wsdd出错, {http://xml.apache.org/axis/}stackTrace:java.net.ConnectException: Coction refused: connect
- 命令行出错Exception in thread "main" java.lang.UnsupportedClassVersionError:
- eclipse 连接 sqlserver2005错误信息:"java.lang.ClassNotFoundException: com.microsoft.jdbc.sqlserver.SQLServerDriver"
- 命令行出错Exception in thread "main" java.lang.UnsupportedClassVersionError
- 应用java三大框架工程在tomcat启动中打印信息
- java日志信息 log4j 使用方法 【转】
- webservice Axis发布deploy.wsdd出错, {http://xml.apache.org/axis/}stackTrace:java.net.ConnectException: Coction refused: connect
- java编译出错,Exception in thread main java.langNoClassDefFoundError:Hello
- enoeht的Java源码系列(6)--调试信息与日志文件