From 07be576c06597cf2a57c4167a0938f06f280bd60 Mon Sep 17 00:00:00 2001 From: xujun Date: Sat, 25 Apr 2026 11:33:05 +0800 Subject: [PATCH] =?UTF-8?q?=E8=B0=83=E6=95=B4=E6=97=A5=E5=BF=97=E6=89=93?= =?UTF-8?q?=E5=8D=B0=E5=8F=82=E6=95=B0=E4=BC=98=E5=85=88=E7=BA=A7?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../src/main/java/xtools/boot/log/LogBus.java | 10 ++++++++-- .../GlobalControllerExceptionHandler.java | 15 ++++++++++++++- 2 files changed, 22 insertions(+), 3 deletions(-) diff --git a/xtools-boot-log/src/main/java/xtools/boot/log/LogBus.java b/xtools-boot-log/src/main/java/xtools/boot/log/LogBus.java index bece806..c4272ea 100644 --- a/xtools-boot-log/src/main/java/xtools/boot/log/LogBus.java +++ b/xtools-boot-log/src/main/java/xtools/boot/log/LogBus.java @@ -321,8 +321,14 @@ public class LogBus implements BaseParams { logBody.setStackTrace(fmtStackTrace(stackTrace, geWarn ? null : config.getIncludeStackTrace())); // 是否打印日志 - if (geWarn || (Objects.nonNull(print) ? print : config.getPrint().booleanValue())) { - printLog(logBody); + if (Objects.nonNull(print)) { + if (print) { + printLog(logBody); + } + } else { + if (geWarn || config.getPrint()) { + printLog(logBody); + } } // 异常日志不做忽略 if (!geWarn) { diff --git a/xtools-boot-web/xtools-boot-web-base/src/main/java/xtools/boot/web/base/exception/GlobalControllerExceptionHandler.java b/xtools-boot-web/xtools-boot-web-base/src/main/java/xtools/boot/web/base/exception/GlobalControllerExceptionHandler.java index 3342df8..13aad0d 100644 --- a/xtools-boot-web/xtools-boot-web-base/src/main/java/xtools/boot/web/base/exception/GlobalControllerExceptionHandler.java +++ b/xtools-boot-web/xtools-boot-web-base/src/main/java/xtools/boot/web/base/exception/GlobalControllerExceptionHandler.java @@ -2,6 +2,7 @@ package xtools.boot.web.base.exception; import jakarta.servlet.http.HttpServletRequest; import lombok.extern.slf4j.Slf4j; +import org.apache.catalina.connector.ClientAbortException; import org.springframework.http.converter.HttpMessageNotReadableException; import org.springframework.web.HttpRequestMethodNotSupportedException; import org.springframework.web.bind.MethodArgumentNotValidException; @@ -147,6 +148,19 @@ public class GlobalControllerExceptionHandler implements BaseParams { return new Result<>(ResultType.NOT_FOUND, null); } + /** + * 客户端提前断开连接 + * + * @param e 客户端提前断开连接异常 + * @param request 请求 + */ + @ExceptionHandler(ClientAbortException.class) + public void handleClientAbortException(ClientAbortException e, HttpServletRequest request) { + String title = "客户端提前断开连接"; + LogBus.init(LogLevel.WARN, LogBusBaseType.HTTP_RESPONSE).print(false).error(e).title(title).save(); + logException(title, e.getMessage(), request, e); + } + /** * 认证异常 * @@ -160,7 +174,6 @@ public class GlobalControllerExceptionHandler implements BaseParams { return new Result<>(ResultType.UNAUTHORIZED, null); } - /** * 公钥错误 *