From b57d24acbc48fd536021cbc9a95fb44363827f36 Mon Sep 17 00:00:00 2001 From: rdf Date: Thu, 28 Aug 2025 07:26:49 +0000 Subject: [PATCH] =?UTF-8?q?fix(log):=20argsArrayToString=20=E5=85=BC?= =?UTF-8?q?=E5=AE=B9=20null=20=E5=92=8C=E5=BA=8F=E5=88=97=E5=8C=96?= =?UTF-8?q?=E5=BC=82=E5=B8=B8=EF=BC=8C=E9=98=B2=E6=AD=A2=E6=97=A5=E5=BF=97?= =?UTF-8?q?=E4=B8=A2=E5=A4=B1=20fix(log):=20=E4=BC=98=E5=8C=96=20argsArray?= =?UTF-8?q?ToString=20=E6=96=B9=E6=B3=95=EF=BC=8C=E5=A2=9E=E5=BC=BA?= =?UTF-8?q?=E5=81=A5=E5=A3=AE=E6=80=A7=E4=B8=8E=E6=80=A7=E8=83=BD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - 使用 StringBuilder 替换 String 拼接,提高性能 - 增加 try-catch 兜底,避免 JSON 序列化失败导致日志切面异常 - 保留 excludeParamNames 支持,确保敏感字段可过滤 - 修复 HttpURLConnection 请求时日志丢失的问题 Signed-off-by: rdf --- .../ruoyi/framework/aspectj/LogAspect.java | 27 +++++++++---------- 1 file changed, 12 insertions(+), 15 deletions(-) diff --git a/ruoyi-framework/src/main/java/com/ruoyi/framework/aspectj/LogAspect.java b/ruoyi-framework/src/main/java/com/ruoyi/framework/aspectj/LogAspect.java index 2da41fec7..ae2702d41 100644 --- a/ruoyi-framework/src/main/java/com/ruoyi/framework/aspectj/LogAspect.java +++ b/ruoyi-framework/src/main/java/com/ruoyi/framework/aspectj/LogAspect.java @@ -190,25 +190,22 @@ public class LogAspect */ private String argsArrayToString(Object[] paramsArray, String[] excludeParamNames) { - String params = ""; - if (paramsArray != null && paramsArray.length > 0) - { - for (Object o : paramsArray) - { - if (StringUtils.isNotNull(o) && !isFilterObject(o)) - { - try - { - String jsonObj = JSON.toJSONString(o, excludePropertyPreFilter(excludeParamNames)); - params += jsonObj.toString() + " "; - } - catch (Exception e) - { + StringBuilder params = new StringBuilder(); + if (paramsArray != null && paramsArray.length > 0) { + for (Object o : paramsArray) { + if (o != null && !isFilterObject(o)) { + try { + // 使用 fastjson 序列化,并支持字段过滤 + String json = JSON.toJSONString(o, excludePropertyPreFilter(excludeParamNames)); + params.append(json).append(" "); + } catch (Exception e) { + // 兜底,保证日志不丢 + params.append(o.toString()).append(" "); } } } } - return params.trim(); + return params.toString().trim(); } /** -- Gitee