将异常堆栈信息转换成字符串

Posted bevis-byf

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了将异常堆栈信息转换成字符串相关的知识,希望对你有一定的参考价值。

package cn.com.aia.grouplife.utils;

import org.apache.commons.lang3.StringUtils;

import java.io.IOException;
import java.io.PrintWriter;
import java.io.StringWriter;

public class ExceptionMsgUtils {

    /**
     * getExceptionInfo
     * @param e
     * @return result限制长度65530,mysql text字段长65535,防止存不进去
     */
    public static String getExceptionInfo(Exception e) {
        StringWriter sw = null;
        PrintWriter pw = null;
        try {
            sw = new StringWriter();
            pw = new PrintWriter(sw);
            e.printStackTrace(pw);
            String result = sw.toString();
            if(StringUtils.isNotBlank(result) && result.length() > 65530) {
                result = result.substring(0,65530);
            }
            return result;
        } finally {
            if (null != sw) {
                try {
                    sw.close();
                } catch (IOException ex) {
                    ex.printStackTrace();
                }
            }
            if (null != pw) {
                pw.close();
            }
        }
    }
}

 

以上是关于将异常堆栈信息转换成字符串的主要内容,如果未能解决你的问题,请参考以下文章

Logback - 如何编写自定义异常转换器以将堆栈跟踪折叠成一行

使用堆栈(LinkedList)将中缀转换为前缀

Java异常堆栈字符串输出

JAVA学习日记day5

数组模拟实现一个50个字符串的堆栈,使用堆栈,将中缀算术表达式转换成后缀表达式。

数组模拟实现一个50个字符串的堆栈,使用堆栈,将中缀算术表达式转换成后缀表达式。