1、输出日志时会要输出一些错误的详情信息,下面是纯java获取的代码:
public class ExceptionUtil {
public static String getExceptionInfo(Exception exception) {
StringBuilder msg = new StringBuilder();
if(exception != null) {
//获取异常的名称
msg.append(exception.getClass().getName());
msg.append(" ");
//异常信息
msg.append(exception.getMessage());
msg.append("\n");
//具体的堆栈
StackTraceElement[] msgST = exception.getStackTrace();
for (StackTraceElement temp : msgST) {
msg.append(temp.toString());
msg.append("\n");
}
}
return msg.toString();
}
}
2、如果使用日志的话,就更简单:
这里使用的是:org.slf4j.Logger
logger.error("error msg ",e);
上面与e.printStackTrace();等同
注意:如果是logger.error("error msg {} ",e);无法输出堆栈信息,因为转成String了。