简化响应日志记录
This commit is contained in:
@@ -18,7 +18,6 @@ import xtools.boot.core.utils.PathPatternUtils;
|
||||
import xtools.boot.core.utils.SpringContextUtils;
|
||||
import xtools.boot.log.LogBus;
|
||||
import xtools.boot.log.enums.LogBusBaseType;
|
||||
import xtools.boot.thread.utils.VirtualThreadTaskUtils;
|
||||
import xtools.boot.web.filter.base.BaseFilter;
|
||||
import xtools.core.CollectionUtils;
|
||||
import xtools.core.enums.LogLevel;
|
||||
@@ -116,43 +115,12 @@ public class HttpLogFilter extends BaseFilter implements Ordered, BaseParams {
|
||||
}
|
||||
// 将内容复制回原始响应
|
||||
responseWrapper.copyBodyToResponse();
|
||||
// 获取响应时间
|
||||
long execTime = System.currentTimeMillis() - startTime;
|
||||
// 保存日志
|
||||
VirtualThreadTaskUtils.execute(() -> saveResponseLog(log, reqParam, respData, execTime));
|
||||
}
|
||||
|
||||
/**
|
||||
* 保存响应日志
|
||||
*
|
||||
* @param log 日志
|
||||
* @param reqParam 请求参数
|
||||
* @param respData 响应数据
|
||||
* @param execTime 执行时间
|
||||
*/
|
||||
private void saveResponseLog(JSONObject log, Object reqParam, Object respData, long execTime) {
|
||||
log.put("reqBody", reqParam);
|
||||
log.put("respData", respData);
|
||||
log.put("execTime", execTime);
|
||||
|
||||
// 处理异常日志
|
||||
LogLevel level = LogLevel.INFO;
|
||||
Boolean printLog = null;
|
||||
if (respData instanceof JSONObject respJson) {
|
||||
if (Objects.equals(respJson.getBoolean("success"), false)) {
|
||||
level = LogLevel.ERROR;
|
||||
if (Objects.equals(respJson.getInteger("code"), 404)) {
|
||||
level = LogLevel.WARN;
|
||||
printLog = false;
|
||||
}
|
||||
}
|
||||
}
|
||||
log.put("execTime", System.currentTimeMillis() - startTime);
|
||||
// 记录响应日志
|
||||
LogBus logBus = LogBus.init(level, LogBusBaseType.HTTP_REQUEST).data(log);
|
||||
if (Objects.nonNull(printLog)) {
|
||||
logBus.print(printLog);
|
||||
}
|
||||
logBus.save();
|
||||
LogBus.init(LogLevel.INFO, LogBusBaseType.HTTP_REQUEST).data(log).save();
|
||||
}
|
||||
|
||||
/**
|
||||
|
||||
Reference in New Issue
Block a user