diff --git a/common/src/main/java/com/yovinchen/train/common/controller/ControllerExceptionHandler.java b/common/src/main/java/com/yovinchen/train/common/controller/ControllerExceptionHandler.java new file mode 100644 index 0000000..6c10e4d --- /dev/null +++ b/common/src/main/java/com/yovinchen/train/common/controller/ControllerExceptionHandler.java @@ -0,0 +1,81 @@ +package com.yovinchen.train.common.controller; + + +import com.yovinchen.train.common.exception.BusinessException; +import com.yovinchen.train.common.resp.CommonResp; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; +import org.springframework.validation.BindException; +import org.springframework.web.bind.annotation.ControllerAdvice; +import org.springframework.web.bind.annotation.ExceptionHandler; +import org.springframework.web.bind.annotation.ResponseBody; + +/** + * ClassName: ControllerExceptionHandler + * Package: com.yovinchen.train.common.controller + * + * @author yovinchen + * @Create 2024/1/21 10:34 + */ +@ControllerAdvice +public class ControllerExceptionHandler { + + private static final Logger LOG = LoggerFactory.getLogger(ControllerExceptionHandler.class); + + /** + * 所有异常统一处理 + * + * @param e + * @return + */ + @ExceptionHandler(value = Exception.class) + @ResponseBody + public CommonResp exceptionHandler(Exception e) { + CommonResp commonResp = new CommonResp(); + LOG.error("系统异常:", e); + commonResp.setSuccess(false); + commonResp.setMessage("系统出现异常,请联系管理员"); + return commonResp; + } + + /** + * 业务异常统一处理 + * + * @param e + * @return + */ + @ExceptionHandler(value = BusinessException.class) + @ResponseBody + public CommonResp exceptionHandler(BusinessException e) { + CommonResp commonResp = new CommonResp(); + LOG.error("业务异常:{}", e.getE() + .getDesc()); + commonResp.setSuccess(false); + commonResp.setMessage(e.getE() + .getDesc()); + return commonResp; + } + + /** + * 校验异常统一处理 + * + * @param e + * @return + */ + @ExceptionHandler(value = BindException.class) + @ResponseBody + public CommonResp exceptionHandler(BindException e) { + CommonResp commonResp = new CommonResp(); + LOG.error("校验异常:{}", e.getBindingResult() + .getAllErrors() + .get(0) + .getDefaultMessage()); + commonResp.setSuccess(false); + commonResp.setMessage(e.getBindingResult() + .getAllErrors() + .get(0) + .getDefaultMessage()); + return commonResp; + } + +} diff --git a/member/src/main/resources/logback-spring.xml b/member/src/main/resources/logback-spring.xml index 0c0e742..30af340 100644 --- a/member/src/main/resources/logback-spring.xml +++ b/member/src/main/resources/logback-spring.xml @@ -5,9 +5,8 @@ - %d{yyyy-MM-dd HH:mm:ss.SSS} %highlight(%-5level) %blue(%-50logger{50}:%-4line) %thread - %green(%-18X{LOG_ID}) %msg%n - + @formatter:off + %d{yyyy-MM-dd HH:mm:ss.SSS} %highlight(%-5level) %blue(%-50logger{50}:%-4line) %thread %green(%-18X{LOG_ID}) %msg%n