From f658d43a5abd2221b35ed070ae54212764e8ee49 Mon Sep 17 00:00:00 2001 From: misworga831 Date: Sat, 11 Oct 2025 11:49:36 +0900 Subject: [PATCH] =?UTF-8?q?fix:=20=E6=B7=BB=E5=8A=A0=E7=A9=BA=E6=8C=87?= =?UTF-8?q?=E9=92=88=E6=A3=80=E6=9F=A5=E4=BB=A5=E4=BC=98=E5=8C=96=E6=97=A5?= =?UTF-8?q?=E5=BF=97=E8=AE=B0=E5=BD=95=E9=80=BB=E8=BE=91=20(pg)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - 在日志切面中为方法返回值和请求对象增加空指针检查,确保稳定性。 - 调整日志记录逻辑以避免潜在异常。 --- .../system/aspect/interceptor/SystemLogAspect.java | 11 ++++++++--- 1 file changed, 8 insertions(+), 3 deletions(-) diff --git a/framework/src/main/java/cn/lili/modules/system/aspect/interceptor/SystemLogAspect.java b/framework/src/main/java/cn/lili/modules/system/aspect/interceptor/SystemLogAspect.java index c9fa4e4cc..300f7cd6e 100644 --- a/framework/src/main/java/cn/lili/modules/system/aspect/interceptor/SystemLogAspect.java +++ b/framework/src/main/java/cn/lili/modules/system/aspect/interceptor/SystemLogAspect.java @@ -1,15 +1,15 @@ package cn.lili.modules.system.aspect.interceptor; -import cn.lili.modules.system.aspect.annotation.SystemLogPoint; import cn.lili.common.security.AuthUser; import cn.lili.common.security.context.UserContext; import cn.lili.common.security.enums.UserEnums; import cn.lili.common.utils.IpHelper; +import cn.lili.common.utils.IpUtils; import cn.lili.common.utils.SpelUtil; import cn.lili.common.utils.ThreadPoolUtil; import cn.lili.modules.permission.entity.vo.SystemLogVO; -import cn.lili.common.utils.IpUtils; import cn.lili.modules.permission.service.SystemLogService; +import cn.lili.modules.system.aspect.annotation.SystemLogPoint; import lombok.extern.slf4j.Slf4j; import org.aspectj.lang.JoinPoint; import org.aspectj.lang.annotation.AfterReturning; @@ -37,7 +37,7 @@ import java.util.Map; public class SystemLogAspect { /** - * 启动线程异步记录日志 + * 记录方法开始时间 */ private static final ThreadLocal BEGIN_TIME_THREAD_LOCAL = new NamedThreadLocal<>("SYSTEM-LOG"); @@ -75,6 +75,11 @@ public class SystemLogAspect { @AfterReturning(returning = "rvt", pointcut = "controllerAspect()") public void after(JoinPoint joinPoint, Object rvt) { try { + + if (request == null || rvt == null) { + return; + } + Map map = spelFormat(joinPoint, rvt); String description = map.get("description").toString(); String customerLog = map.get("customerLog").toString();