fix: 添加空指针检查以优化日志记录逻辑 (pg)

- 在日志切面中为方法返回值和请求对象增加空指针检查,确保稳定性。
- 调整日志记录逻辑以避免潜在异常。
This commit is contained in:
misworga831
2025-10-11 11:49:36 +09:00
parent db3f775c50
commit f658d43a5a

View File

@@ -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<Date> 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();