From 66f71e5641907bbd4cc5f6857535529466369039 Mon Sep 17 00:00:00 2001 From: BenjaminNH <1249376374@qq.com> Date: Fri, 4 Jul 2025 13:18:03 +0800 Subject: [PATCH] =?UTF-8?q?feat:=20=E6=B7=BB=E5=8A=A0=E5=BC=82=E5=B8=B8?= =?UTF-8?q?=E6=97=A5=E5=BF=97=E8=AE=B0=E5=BD=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../exception/GlobalExceptionHandler.java | 22 ++++++++++++++++--- 1 file changed, 19 insertions(+), 3 deletions(-) diff --git a/src/main/java/github/benjamin/equipreservebackend/exception/GlobalExceptionHandler.java b/src/main/java/github/benjamin/equipreservebackend/exception/GlobalExceptionHandler.java index b4bc036..ec4c1db 100644 --- a/src/main/java/github/benjamin/equipreservebackend/exception/GlobalExceptionHandler.java +++ b/src/main/java/github/benjamin/equipreservebackend/exception/GlobalExceptionHandler.java @@ -2,17 +2,23 @@ package github.benjamin.equipreservebackend.exception; import github.benjamin.equipreservebackend.response.ResponseCode; import github.benjamin.equipreservebackend.response.ResponseResult; +import jakarta.servlet.http.HttpServletRequest; import lombok.extern.slf4j.Slf4j; import org.springframework.security.authorization.AuthorizationDeniedException; import org.springframework.web.bind.annotation.ExceptionHandler; import org.springframework.web.bind.annotation.RestControllerAdvice; +import java.util.Arrays; +import java.util.Map; +import java.util.stream.Collectors; + @Slf4j @RestControllerAdvice public class GlobalExceptionHandler { @ExceptionHandler(ApiException.class) public ResponseResult handleApiException(ApiException e) { + log.error("[API异常] 错误代码: {}, 错误信息: {}", e.getCode(), e.getMessage(), e); return ResponseResult.fail(e.getCode(), e.getMessage()); } @@ -22,10 +28,20 @@ public class GlobalExceptionHandler { } @ExceptionHandler(Exception.class) - public ResponseResult handleException(Exception e) { - // TODO 日志 - e.printStackTrace(); + public ResponseResult handleException(Exception e, HttpServletRequest request) { + log.error("[系统异常] 请求地址: {}, 方法: {}, 异常信息: {}, 请求参数: {}", + request.getRequestURI(), + request.getMethod(), + e.getMessage(), + getRequestParams(request), + e); return ResponseResult.fail(ResponseCode.UNKNOWN_ERROR,"服务器内部异常,请联系开发人员"); } + private String getRequestParams(HttpServletRequest request) { + Map paramMap = request.getParameterMap(); + return paramMap.entrySet().stream() + .map(entry -> entry.getKey() + "=" + Arrays.toString(entry.getValue())) + .collect(Collectors.joining(", ", "{", "}")); + } }