Utils:异常信息格式化工具类

star2017 1年前 ⋅ 580 阅读

项目中的代码捕获到的异常(Exception)信息应该通过日志管理(Log4j)写入到日志文件,是非常不建议直接打印出栈信息的(e.printStackTrace());而通过 Exception 的方法直接获取到的异常信息并不全面,或直接对异常信息进行 JSON 格式化,但记录到日志信息是长长的一行,非常不利于阅读和跟踪问题。

我们可以调用 getStackTrace()方法,返回的是栈跟踪信息数组,通过对数组遍历格式化拼接,可以让记录到日志文件的异常信息的格式达到 printStackTrace()方法的效果,这就是下面的工具类的目的,代码非常的简单。

  1. LogUtils.java

     /**
      * @Name: LogUtils
      * @Desc: Formatter Exception Info
      **/
     public class LogUtils {
    
         /**
          * Formatter Exception Info
          */
         public static StringBuffer exceptionTrackFormat(Exception e) {
             StringBuffer sb = new StringBuffer();
             if (e != null) {
                 sb.append(e.toString());
                 for (StackTraceElement element : e.getStackTrace()) {
                     sb.append("\r\n\t").append(element);
                 }
             }
             return sb.length() == 0 ? null : sb;
         }
     }
    
  2. 调用

    logger.error("异常信息:{}", LogUtils.exceptionTrackFormat(e));

更多内容请访问:IT源点

相关文章推荐

全部评论: 0

    我有话说: