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 c8d3496..bece806 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 @@ -242,7 +242,13 @@ public class LogBus implements BaseParams { if (log instanceof JSONObject jsonLog) { logBody.setLogData(jsonLog); } else { - logBody.setLogData(JSONObject.from(log)); + JSONObject logData; + try { + logData = JSONObject.from(log); + } catch (Exception e) { + logData = JSONObject.of("data", log); + } + logBody.setLogData(logData); } return this; } diff --git a/xtools-boot-web/xtools-boot-web-base/src/main/java/xtools/boot/web/base/filter/CommonFilter.java b/xtools-boot-web/xtools-boot-web-base/src/main/java/xtools/boot/web/base/filter/CommonFilter.java index 302da22..71753de 100644 --- a/xtools-boot-web/xtools-boot-web-base/src/main/java/xtools/boot/web/base/filter/CommonFilter.java +++ b/xtools-boot-web/xtools-boot-web-base/src/main/java/xtools/boot/web/base/filter/CommonFilter.java @@ -1,6 +1,5 @@ package xtools.boot.web.base.filter; -import com.alibaba.fastjson2.JSONObject; import jakarta.servlet.FilterChain; import jakarta.servlet.ServletException; import jakarta.servlet.http.HttpServletRequest; @@ -10,11 +9,8 @@ import org.jspecify.annotations.NonNull; import org.springframework.core.Ordered; import org.springframework.stereotype.Component; import xtools.base.config.BaseParams; -import xtools.boot.api.enums.ResultType; -import xtools.boot.api.model.dto.Result; import xtools.boot.core.holder.CommonHolder; import xtools.boot.web.filter.base.BaseFilter; -import xtools.web.HttpServletUtils; import java.io.IOException; @@ -48,7 +44,7 @@ public class CommonFilter extends BaseFilter implements Ordered, BaseParams { try { filterChain.doFilter(request, response); } catch (IOException | ServletException e) { - log.error("添加通用ScopedValue异常", e); + printLog(e, "添加通用ScopedValue异常"); } }); } diff --git a/xtools-boot-web/xtools-boot-web-base/src/main/java/xtools/boot/web/base/filter/LogTrackFilter.java b/xtools-boot-web/xtools-boot-web-base/src/main/java/xtools/boot/web/base/filter/LogTrackFilter.java index 1d1c5a5..30405fe 100644 --- a/xtools-boot-web/xtools-boot-web-base/src/main/java/xtools/boot/web/base/filter/LogTrackFilter.java +++ b/xtools-boot-web/xtools-boot-web-base/src/main/java/xtools/boot/web/base/filter/LogTrackFilter.java @@ -1,6 +1,5 @@ package xtools.boot.web.base.filter; -import com.alibaba.fastjson2.JSONObject; import jakarta.annotation.Resource; import jakarta.servlet.FilterChain; import jakarta.servlet.ServletException; @@ -12,8 +11,6 @@ import org.springframework.core.Ordered; import org.springframework.stereotype.Component; import xtools.base.config.BaseParams; import xtools.boot.api.constant.BootCommonConstant; -import xtools.boot.api.enums.ResultType; -import xtools.boot.api.model.dto.Result; import xtools.boot.api.model.dto.log.HolderLogTrack; import xtools.boot.core.utils.PathPatternUtils; import xtools.boot.log.holder.LogTrackHolder; @@ -21,7 +18,6 @@ import xtools.boot.web.base.config.LogTrackConfig; import xtools.boot.web.filter.base.BaseFilter; import xtools.core.StringUtils; import xtools.web.HeaderUtils; -import xtools.web.HttpServletUtils; import java.io.IOException; @@ -70,7 +66,7 @@ public class LogTrackFilter extends BaseFilter implements Ordered, BaseParams { try { filterChain.doFilter(request, response); } catch (IOException | ServletException e) { - log.error("添加日志追踪ScopedValue异常", e); + printLog(e, "添加日志追踪ScopedValue异常"); } }); } diff --git a/xtools-boot-web/xtools-boot-web-filter/src/main/java/xtools/boot/web/filter/base/BaseFilter.java b/xtools-boot-web/xtools-boot-web-filter/src/main/java/xtools/boot/web/filter/base/BaseFilter.java index ef08b70..27d29b2 100644 --- a/xtools-boot-web/xtools-boot-web-filter/src/main/java/xtools/boot/web/filter/base/BaseFilter.java +++ b/xtools-boot-web/xtools-boot-web-filter/src/main/java/xtools/boot/web/filter/base/BaseFilter.java @@ -1,6 +1,8 @@ package xtools.boot.web.filter.base; import jakarta.servlet.http.HttpServletRequest; +import lombok.extern.slf4j.Slf4j; +import org.apache.catalina.connector.ClientAbortException; import org.jspecify.annotations.NonNull; import org.springframework.web.filter.OncePerRequestFilter; @@ -15,6 +17,7 @@ import org.springframework.web.filter.OncePerRequestFilter; * @version : 5.0.0 * @date : 2026/3/8 11:06 */ +@Slf4j public abstract class BaseFilter extends OncePerRequestFilter { /** @@ -31,6 +34,19 @@ public abstract class BaseFilter extends OncePerRequestFilter { request.setAttribute(SKIP_FILTER, true); } + /** + * 日志 + * + * @param e 异常 + * @param msg 消息 + */ + public void printLog(Exception e, String msg) { + if (e instanceof ClientAbortException) { + return; + } + log.error(msg, e); + } + /** * 跳过过滤器 *