自定义报警日志打印工具
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();
}
}