Pārlūkot izejas kodu

修改日志打印

chenxiaofei 1 mēnesi atpakaļ
vecāks
revīzija
add7206948

+ 5 - 6
sckw-common/sckw-common-log/src/main/java/com/sckw/log/aspect/LogInfoAspect.java

@@ -58,7 +58,7 @@ public class LogInfoAspect {
     }
 
     // 定义最大字符串长度(例如 10000 字符)
-    private static final int MAX_STR_LEN = 2000;
+    private static final int MAX_STR_LEN = 10000;
 
     // 复用 ValueFilter 实例,避免重复创建
     private static final ValueFilter TRUNCATE_FILTER = (object, name, value) -> {
@@ -177,17 +177,16 @@ public void doAfterThrowing(JoinPoint point, Throwable e) throws Throwable {
         String targetName = point.getTarget().getClass().getName();
         String methodName = point.getSignature().getName();
         String callerMethodName = getCallerMethodName();
-        //获取用户请求方法的参数并序列化为JSON格式字符串
         StringBuilder params = new StringBuilder();
         if (point.getArgs() != null && point.getArgs().length > 0) {
             for (int i = 0; i < point.getArgs().length; i++) {
-                Object object = point.getArgs()[i];
-                if (!(object instanceof MultipartFile) && !(object instanceof HttpServletResponse) && !(object instanceof HttpServletRequest)) {
-                    params.append(JSONObject.toJSONString(point.getArgs()[i])).append(";");
+                Object arg = point.getArgs()[i];
+                if (!(arg instanceof MultipartFile) && !(arg instanceof HttpServletResponse) && !(arg instanceof HttpServletRequest)) {
+                    // 使用安全序列化
+                    params.append(safeToJSONString(arg)).append(";");
                 }
             }
         }
-
         Date endTime = new Date();
         long time = endTime.getTime() - startTime.getTime();
         log.error("\nSERVICE异常 - {}.{} \n调用方 - {} \n参数:{} \n异常:{} \n耗时:{}ms \n时间:[{}->{}]",