perf:调用日志只保存json,xml,text格式的返回值

This commit is contained in:
曾文豪
2024-08-27 11:08:36 +08:00
parent 7648eef981
commit d96f17b847
3 changed files with 42 additions and 4 deletions

View File

@@ -1,6 +1,7 @@
package com.tiesheng.web.service;
import cn.hutool.core.thread.ThreadUtil;
import cn.hutool.core.util.StrUtil;
import com.alibaba.fastjson.JSONObject;
import com.tiesheng.util.service.http.OkHttpUtil;
import com.tiesheng.web.mapper.CoreLogApiMapper;
@@ -32,10 +33,15 @@ public class LogApiOkHttpInterceptor implements Interceptor {
Response response;
try {
response = chain.proceed(request);
ResponseBody peekBody = response.peekBody(Long.MAX_VALUE);
logApi.setRespBody(peekBody.string());
logApi.setResult(response.code());
peekBody.close();
// 如果是json,xml,text则保存记录
if (response.body() != null && StrUtil.containsAll(response.body().contentType().toString(),
"json", "xml", "text")) {
ResponseBody peekBody = response.peekBody(Long.MAX_VALUE);
logApi.setRespBody(peekBody.string());
peekBody.close();
}
} catch (Exception e) {
JSONObject object = new JSONObject();