瀏覽代碼

优化空指针异常时无法获取错误信息问题

RuoYi 2 月之前
父節點
當前提交
ca61b6c68d
共有 1 個文件被更改,包括 3 次插入1 次删除
  1. 3 1
      ruoyi-framework/src/main/java/com/ruoyi/framework/aspectj/LogAspect.java

+ 3 - 1
ruoyi-framework/src/main/java/com/ruoyi/framework/aspectj/LogAspect.java

@@ -20,9 +20,11 @@ import com.alibaba.fastjson2.JSON;
 import com.ruoyi.common.annotation.Log;
 import com.ruoyi.common.annotation.Log;
 import com.ruoyi.common.core.domain.entity.SysUser;
 import com.ruoyi.common.core.domain.entity.SysUser;
 import com.ruoyi.common.core.domain.model.LoginUser;
 import com.ruoyi.common.core.domain.model.LoginUser;
+import com.ruoyi.common.core.text.Convert;
 import com.ruoyi.common.enums.BusinessStatus;
 import com.ruoyi.common.enums.BusinessStatus;
 import com.ruoyi.common.enums.HttpMethod;
 import com.ruoyi.common.enums.HttpMethod;
 import com.ruoyi.common.filter.PropertyPreExcludeFilter;
 import com.ruoyi.common.filter.PropertyPreExcludeFilter;
+import com.ruoyi.common.utils.ExceptionUtil;
 import com.ruoyi.common.utils.SecurityUtils;
 import com.ruoyi.common.utils.SecurityUtils;
 import com.ruoyi.common.utils.ServletUtils;
 import com.ruoyi.common.utils.ServletUtils;
 import com.ruoyi.common.utils.StringUtils;
 import com.ruoyi.common.utils.StringUtils;
@@ -107,7 +109,7 @@ public class LogAspect
             if (e != null)
             if (e != null)
             {
             {
                 operLog.setStatus(BusinessStatus.FAIL.ordinal());
                 operLog.setStatus(BusinessStatus.FAIL.ordinal());
-                operLog.setErrorMsg(StringUtils.substring(e.getMessage(), 0, 2000));
+                operLog.setErrorMsg(StringUtils.substring(Convert.toStr(e.getMessage(), ExceptionUtil.getExceptionMessage(e)), 0, 2000));
             }
             }
             // 设置方法名称
             // 设置方法名称
             String className = joinPoint.getTarget().getClass().getName();
             String className = joinPoint.getTarget().getClass().getName();