在logback、log4j等日志输出工具中输出java异常调用堆栈
2016-09-27 09:12
381 查看
使用logback、log2j输出java异常如果采用如下方式:
try{
...
}catch (Exception e){
logger.error("[lid:{}] [{}]<< exception happened! detail:{}", logIndex, logFlag, e);
}
则无法输出异常的调用堆栈,下面这个一个静态工具函数,可以输出异常的堆栈信息,如下:
public static String getExceptionStackTrace(Throwable anexcepObj)
{
StringWriter sw = null;
PrintWriter printWriter = null;
try{
if(anexcepObj != null)
{
sw = new StringWriter();
printWriter = new PrintWriter(sw);
anexcepObj.printStackTrace(printWriter);
printWriter.flush();
sw.flush();
return sw.toString();
}
else
return null;
}finally
{
try
{
if(sw != null)
sw.close();
if(printWriter != null)
printWriter.close();
}
catch (IOException e)
{
e.printStackTrace();
}
}
} 它的使用方式为:try{
...
}catch (Exception e){
logger.error("[lid:{}] [{}]<< exception happened! detail:{}", logIndex, logFlag, getExceptionStackTrace(e));
}
try{
...
}catch (Exception e){
logger.error("[lid:{}] [{}]<< exception happened! detail:{}", logIndex, logFlag, e);
}
则无法输出异常的调用堆栈,下面这个一个静态工具函数,可以输出异常的堆栈信息,如下:
public static String getExceptionStackTrace(Throwable anexcepObj)
{
StringWriter sw = null;
PrintWriter printWriter = null;
try{
if(anexcepObj != null)
{
sw = new StringWriter();
printWriter = new PrintWriter(sw);
anexcepObj.printStackTrace(printWriter);
printWriter.flush();
sw.flush();
return sw.toString();
}
else
return null;
}finally
{
try
{
if(sw != null)
sw.close();
if(printWriter != null)
printWriter.close();
}
catch (IOException e)
{
e.printStackTrace();
}
}
} 它的使用方式为:try{
...
}catch (Exception e){
logger.error("[lid:{}] [{}]<< exception happened! detail:{}", logIndex, logFlag, getExceptionStackTrace(e));
}
相关文章推荐
- logback异常输出详细信息(调用堆栈)
- Java知识积累——logback日志工具,告别到处输出变量值来调试程序的时代吧~
- 将Java异常的完整堆栈内容打印到log4j日志
- [Java] log4j异常输出到日志
- 两步实现Log4j记录java控制台输出的系统所有异常信息和自定义记录日志---->非常实用,强烈推荐阅读
- Java知识积累——logback日志工具,告别到处输出变量值来调试程序的时代吧~
- log4j和logback的冲突导致日志输出异常
- Java知识积累——日志组件:log4j、logback、common-logging
- log4j - 日志输出工具 的使用配置简洁实例
- Java中的异常、断言、日志 log4j
- Java 标准日志工具 Log4j 的使用(附源代码)
- java日志组件介绍(common-logging,log4j,slf4j,logback )
- Java 标准日志工具 Log4j 的使用(附源代码)
- java的日志工具log4j的配置方法
- 把异常的堆栈跟踪输出保存到日志文件的方法
- log4j日志在java控制台输出,简单实用
- Java日志框架:SLF4J, Apache Common-Logging, Log4J和Logback
- 在java应用中使用log4j日志工具
- Java 标准日志工具 Log4j 的使用(附源代码)