Przeglądaj źródła

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

RuoYi 1 rok temu
rodzic
commit
049ba453d1

+ 4 - 2
ruoyi-common/ruoyi-common-log/src/main/java/com/ruoyi/common/log/aspect/LogAspect.java

@@ -19,6 +19,8 @@ import org.springframework.stereotype.Component;
19
 import org.springframework.validation.BindingResult;
19
 import org.springframework.validation.BindingResult;
20
 import org.springframework.web.multipart.MultipartFile;
20
 import org.springframework.web.multipart.MultipartFile;
21
 import com.alibaba.fastjson2.JSON;
21
 import com.alibaba.fastjson2.JSON;
22
+import com.ruoyi.common.core.text.Convert;
23
+import com.ruoyi.common.core.utils.ExceptionUtil;
22
 import com.ruoyi.common.core.utils.ServletUtils;
24
 import com.ruoyi.common.core.utils.ServletUtils;
23
 import com.ruoyi.common.core.utils.StringUtils;
25
 import com.ruoyi.common.core.utils.StringUtils;
24
 import com.ruoyi.common.core.utils.ip.IpUtils;
26
 import com.ruoyi.common.core.utils.ip.IpUtils;
@@ -53,7 +55,7 @@ public class LogAspect
53
      * 处理请求前执行
55
      * 处理请求前执行
54
      */
56
      */
55
     @Before(value = "@annotation(controllerLog)")
57
     @Before(value = "@annotation(controllerLog)")
56
-    public void boBefore(JoinPoint joinPoint, Log controllerLog)
58
+    public void doBefore(JoinPoint joinPoint, Log controllerLog)
57
     {
59
     {
58
         TIME_THREADLOCAL.set(System.currentTimeMillis());
60
         TIME_THREADLOCAL.set(System.currentTimeMillis());
59
     }
61
     }
@@ -101,7 +103,7 @@ public class LogAspect
101
             if (e != null)
103
             if (e != null)
102
             {
104
             {
103
                 operLog.setStatus(BusinessStatus.FAIL.ordinal());
105
                 operLog.setStatus(BusinessStatus.FAIL.ordinal());
104
-                operLog.setErrorMsg(StringUtils.substring(e.getMessage(), 0, 2000));
106
+                operLog.setErrorMsg(StringUtils.substring(Convert.toStr(e.getMessage(), ExceptionUtil.getExceptionMessage(e)), 0, 2000));
105
             }
107
             }
106
             // 设置方法名称
108
             // 设置方法名称
107
             String className = joinPoint.getTarget().getClass().getName();
109
             String className = joinPoint.getTarget().getClass().getName();