From b5636e416a2fe029f96aec6ddfd3489394925b15 Mon Sep 17 00:00:00 2001 From: kimi <kimi42345@gmail.com> Date: 星期二, 24 三月 2020 19:33:53 +0800 Subject: [PATCH] add 数据权限 --- src/main/java/com/highdatas/mdm/util/HttpTraceLogFilter.java | 31 +++++++++++++++++++++++-------- 1 files changed, 23 insertions(+), 8 deletions(-) diff --git a/src/main/java/com/highdatas/mdm/util/HttpTraceLogFilter.java b/src/main/java/com/highdatas/mdm/util/HttpTraceLogFilter.java index dd79ca5..e83cc1f 100644 --- a/src/main/java/com/highdatas/mdm/util/HttpTraceLogFilter.java +++ b/src/main/java/com/highdatas/mdm/util/HttpTraceLogFilter.java @@ -1,6 +1,7 @@ package com.highdatas.mdm.util; import com.alibaba.fastjson.JSON; +import com.alibaba.fastjson.JSONObject; import lombok.Data; import lombok.extern.slf4j.Slf4j; import org.apache.commons.io.IOUtils; @@ -18,7 +19,6 @@ import java.io.IOException; import java.net.URI; import java.net.URISyntaxException; -import java.net.URLDecoder; import java.nio.charset.StandardCharsets; import java.time.LocalDateTime; import java.util.Objects; @@ -32,7 +32,7 @@ @Slf4j public class HttpTraceLogFilter extends OncePerRequestFilter implements Ordered { - private static final String NEED_TRACE_PATH_PREFIX = "/api"; + private static final String UNNEED_TRACE_PATH_PREFIX = "/file"; private static final String IGNORE_CONTENT_TYPE = "multipart/form-data"; @@ -62,9 +62,9 @@ status = response.getStatus(); } finally { String path = request.getRequestURI(); - boolean isFilterPath = path.startsWith(NEED_TRACE_PATH_PREFIX); - isFilterPath = true; - if (isFilterPath) { + boolean isFilterPath = path.startsWith(UNNEED_TRACE_PATH_PREFIX); + isFilterPath = true; + if (!isFilterPath) { String requestBody = IOUtils.toString(request.getInputStream(), StandardCharsets.UTF_8.name()); log.info(requestBody); //1. 璁板綍鏃ュ織 @@ -76,8 +76,20 @@ traceLog.setTime(LocalDateTime.now().toString()); traceLog.setParameterMap(JSON.toJSONString(request.getParameterMap())); traceLog.setStatus(status); + traceLog.setUserIp( request.getRemoteAddr()); traceLog.setRequestBody(getRequestBody(request)); - traceLog.setResponseBody(getResponseBody(response)); + String responseBody = getResponseBody(response); + try{ + JSONObject jsonObject = JSONObject.parseObject(responseBody); + if (jsonObject != null){ + traceLog.setResponseStatus(jsonObject.getString("success")); + } + } + catch (Exception e){ + e.printStackTrace(); + } + +// traceLog.setResponseBody(responseBody); log.info("Http trace log: {}", JSON.toJSONString(traceLog)); } updateResponse(response); @@ -126,7 +138,7 @@ @Data - private static class HttpTraceLog { + public static class HttpTraceLog { private String path; private String parameterMap; private String method; @@ -134,6 +146,9 @@ private String time; private Integer status; private String requestBody; - private String responseBody; + private String userId; + private String userIp; + private String urlId; + private String responseStatus; } } -- Gitblit v1.8.0