Просмотр исходного кода

[重复操作异常处理][修改]:重复操作异常不再发email,也不打印堆栈

release_toaliyun_real
Stormeye Wu 7 лет назад
Родитель
Сommit
fef3ac0ed4
1 измененных файлов: 25 добавлений и 6 удалений
  1. +25
    -6
      mallinkService/src/main/java/com/iformall/common/GlobalDefultExceptionHandler.java

+ 25
- 6
mallinkService/src/main/java/com/iformall/common/GlobalDefultExceptionHandler.java Просмотреть файл

@@ -34,13 +34,11 @@ public class GlobalDefultExceptionHandler {
log(e, request); log(e, request);


if(isFmException) { if(isFmException) {
if(e instanceof MallinkException) {
// 处理异常,发送邮件
if(checkExceptionType(e)) {
// 某些异常不发邮件
MallinkException me = (MallinkException)e; MallinkException me = (MallinkException)e;
if(me.getErrorCode() == ErrorCode.NET_TOKEN_EMPTY.getCode()
|| me.getErrorCode() == ErrorCode.NET_TOKEN_INVALID.getCode()) {
// token异常问题, 不发邮件
return new ResultData(me.getErrorCode(),me.getMessage());
}
return new ResultData(me.getErrorCode(),me.getMessage());
} }
StringWriter sw = new StringWriter(); StringWriter sw = new StringWriter();
PrintWriter pw = new PrintWriter(sw); PrintWriter pw = new PrintWriter(sw);
@@ -66,6 +64,12 @@ public class GlobalDefultExceptionHandler {


private void log(Exception ex, HttpServletRequest request) { private void log(Exception ex, HttpServletRequest request) {
logger.error("************************异常开始*******************************"); logger.error("************************异常开始*******************************");
if(checkExceptionType(ex)) {
// 特殊异常不打印堆栈
logger.error(ex.getMessage());
logger.error("************************异常结束*******************************");
return;
}
logger.error("请求地址:" + request.getRequestURL()); logger.error("请求地址:" + request.getRequestURL());
Enumeration enumeration = request.getParameterNames(); Enumeration enumeration = request.getParameterNames();
logger.error("请求参数"); logger.error("请求参数");
@@ -80,4 +84,19 @@ public class GlobalDefultExceptionHandler {
} }
logger.error("************************异常结束*******************************"); logger.error("************************异常结束*******************************");
} }

private boolean checkExceptionType(Exception e) {
if(e instanceof MallinkException) {
MallinkException me = (MallinkException)e;
if(me.getErrorCode() == ErrorCode.NET_TOKEN_EMPTY.getCode()
|| me.getErrorCode() == ErrorCode.NET_TOKEN_INVALID.getCode()) {
// token异常问题, 不发邮件
return true;
} else if(me.getErrorCode() == ErrorCode.SYS_REPEAT_SUBMIT_EXCEPTION.getCode()) {
// 重复访问不打印异常消息
return true;
}
}
return false;
}
} }

Загрузка…
Отмена
Сохранить