【MonitorUtil】java报错日志工具类

 

自定义报警日志打印工具
import org.apache.commons.lang.StringUtils;
import java.io.PrintWriter;
import java.io.StringWriter;

/**
 * 自定义报警日志打印工具
 *
 * @author Angel挤一挤
 * @date 2022/12/13
 */
public class MonitorUtil {



  

    /**
     * 处理自定义报警消息 默认Msg长度300
     *
     * @param e
     * @param customMsg
     * @return
     */
    public static String alarmMsg(Exception e, String customMsg) {
        return alarmMsg(e, customMsg, 300);
    }

    /**
     * 重载 处理自定义报警消息
     *
     * @param e
     * @param customMsg
     * @param splitLength 切割长度
     * @return
     */
    private static String alarmMsg(Exception e, String customMsg, Integer splitLength) {
        StringBuilder result = new StringBuilder();
        if (StringUtils.isNotEmpty(customMsg)) {
            result.append(customMsg).append(":");
        }
        if (e != null) {
            StringWriter stringWriter = new StringWriter();
            PrintWriter writer = new PrintWriter(stringWriter);
            e.printStackTrace(writer);
            StringBuffer buffer = stringWriter.getBuffer();
            String errMsg = buffer.toString();
            result.append(errMsg);
        }

        return splitLength != null && splitLength > 0
                ? (result.length() > splitLength ? result.substring(0, splitLength) : result.toString())
                : result.toString();
    }

    public static String getErrMsg(Exception e) {
        StringBuilder result = new StringBuilder();
        if (e != null) {
            StringWriter stringWriter = new StringWriter();
            PrintWriter writer = new PrintWriter(stringWriter);
            e.printStackTrace(writer);
            StringBuffer buffer = stringWriter.getBuffer();
            String errMsg = buffer.toString();
            result.append(errMsg);
        }

        return result.toString();
    }

    public static String getErrMsg(String customMsg, Exception e) {
        StringBuilder result = new StringBuilder();
        if (StringUtils.isNotBlank(customMsg)) {
            result.append(customMsg);
        }
        if (e != null) {
            StringWriter stringWriter = new StringWriter();
            PrintWriter writer = new PrintWriter(stringWriter);
            e.printStackTrace(writer);
            StringBuffer buffer = stringWriter.getBuffer();
            String errMsg = buffer.toString();
            result.append(errMsg);
        }

        return result.toString();
    }

}

 

posted @ 2024-11-12 16:44  Angel挤一挤  阅读(32)  评论(0)    收藏  举报