优化访问日志提交的数据,当参数名重复的时候只记录了一个的问题

This commit is contained in:
thinkgem
2020-03-17 20:45:27 +08:00
parent f4910e000c
commit 2ae22bd7d3

View File

@@ -235,9 +235,15 @@ public class Log extends DataEntity<Log> {
}
StringBuilder params = new StringBuilder();
for (Map.Entry<String, String[]> param : ((Map<String, String[]>)paramsMap).entrySet()){
params.append(("".equals(params.toString()) ? "" : "&") + param.getKey() + "=");
String paramValue = (param.getValue() != null && param.getValue().length > 0 ? param.getValue()[0] : "");
params.append(StringUtils.abbr(StringUtils.endsWithIgnoreCase(param.getKey(), "password") ? "*" : paramValue, 1000));
if (params.length() != 0) {
params.append("&");
}
params.append(param.getKey() + "=");
if (StringUtils.endsWithIgnoreCase(param.getKey(), "password")){
params.append("*");
}else if (param.getValue() != null) {
params.append(StringUtils.abbr(StringUtils.join(param.getValue(), ","), 1000));
}
this.paramsMap.put(param.getKey(), param.getValue());
}
this.requestParams = params.toString();