优化日志记录参数拼装提升效率

This commit is contained in:
RuoYi
2025-12-04 17:55:27 +08:00
parent 075d603ed0
commit e73d4918d3

View File

@@ -47,6 +47,9 @@ public class LogAspect
/** 计算操作消耗时间 */ /** 计算操作消耗时间 */
private static final ThreadLocal<Long> TIME_THREADLOCAL = new NamedThreadLocal<Long>("Cost Time"); private static final ThreadLocal<Long> TIME_THREADLOCAL = new NamedThreadLocal<Long>("Cost Time");
/** 参数最大长度限制 */
private static final int PARAM_MAX_LENGTH = 2000;
/** /**
* 处理请求前执行 * 处理请求前执行
*/ */
@@ -173,7 +176,7 @@ public class LogAspect
if (StringUtils.isNotEmpty(map)) if (StringUtils.isNotEmpty(map))
{ {
String params = JSONObject.toJSONString(map, excludePropertyPreFilter(excludeParamNames)); String params = JSONObject.toJSONString(map, excludePropertyPreFilter(excludeParamNames));
operLog.setOperParam(StringUtils.substring(params, 0, 2000)); operLog.setOperParam(StringUtils.substring(params, 0, PARAM_MAX_LENGTH));
} }
else else
{ {
@@ -181,7 +184,7 @@ public class LogAspect
if (StringUtils.isNotNull(args)) if (StringUtils.isNotNull(args))
{ {
String params = argsArrayToString(joinPoint.getArgs(), excludeParamNames); String params = argsArrayToString(joinPoint.getArgs(), excludeParamNames);
operLog.setOperParam(StringUtils.substring(params, 0, 2000)); operLog.setOperParam(params);
} }
} }
} }
@@ -199,7 +202,7 @@ public class LogAspect
*/ */
private String argsArrayToString(Object[] paramsArray, String[] excludeParamNames) private String argsArrayToString(Object[] paramsArray, String[] excludeParamNames)
{ {
String params = ""; StringBuilder params = new StringBuilder();
if (paramsArray != null && paramsArray.length > 0) if (paramsArray != null && paramsArray.length > 0)
{ {
for (Object o : paramsArray) for (Object o : paramsArray)
@@ -209,15 +212,20 @@ public class LogAspect
try try
{ {
Object jsonObj = JSONObject.toJSONString(o, excludePropertyPreFilter(excludeParamNames)); Object jsonObj = JSONObject.toJSONString(o, excludePropertyPreFilter(excludeParamNames));
params += jsonObj.toString() + " "; params.append(jsonObj).append(" ");
if (params.length() >= PARAM_MAX_LENGTH)
{
return StringUtils.substring(params.toString(), 0, PARAM_MAX_LENGTH);
}
} }
catch (Exception e) catch (Exception e)
{ {
log.error("请求参数拼装异常 msg:{}, 参数:{}", e.getMessage(), paramsArray, e);
} }
} }
} }
} }
return params.trim(); return params.toString();
} }
/** /**