diff --git a/mallinkService/src/main/java/com/iformall/common/GlobalDefultExceptionHandler.java b/mallinkService/src/main/java/com/iformall/common/GlobalDefultExceptionHandler.java index 331c6267d..c92bde582 100644 --- a/mallinkService/src/main/java/com/iformall/common/GlobalDefultExceptionHandler.java +++ b/mallinkService/src/main/java/com/iformall/common/GlobalDefultExceptionHandler.java @@ -34,13 +34,11 @@ public class GlobalDefultExceptionHandler { log(e, request); if(isFmException) { - if(e instanceof MallinkException) { + // 处理异常,发送邮件 + if(checkExceptionType(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(); PrintWriter pw = new PrintWriter(sw); @@ -66,6 +64,12 @@ public class GlobalDefultExceptionHandler { private void log(Exception ex, HttpServletRequest request) { logger.error("************************异常开始*******************************"); + if(checkExceptionType(ex)) { + // 特殊异常不打印堆栈 + logger.error(ex.getMessage()); + logger.error("************************异常结束*******************************"); + return; + } logger.error("请求地址:" + request.getRequestURL()); Enumeration enumeration = request.getParameterNames(); logger.error("请求参数"); @@ -80,4 +84,19 @@ public class GlobalDefultExceptionHandler { } 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; + } }