欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

printStackTrace 实现

程序员文章站 2022-07-06 09:55:57
...

我们一般在catch中喜欢写e.printStackTrace();

这个方法可以把错误的信息都在控制台中显示出来,但是如果我们希望能把这些内容通过log4j写到日志中,这就得费一番周折了,我写了一个方法已经完全实现了和printStackTrace相同的输出,现与大家分享一下

/**
 * 返回Exception 中 printStackTrace中的一些信息
 * @param Exception e
 * @return String类型错误信息,其中包括ClassName,FileName,MethodName,LineNumber
 */
public static String exceptionToStr(Exception e){
	StringBuffer sbf = new StringBuffer(e.getClass().getName()+": "+e.getMessage()+"\n");
	StackTraceElement[] ste = e.getStackTrace();
	for(int i=0;i<ste.length;i++){
		sbf.append("\t"+ste[i].getClassName()+"."+ste[i].getMethodName()+"("+ste[i].getFileName()+":"+ste[i].getLineNumber()+")\t\n");
	}
	return sbf.toString();
}

 

相关标签: log4j