From ed7ff16e9c2d4b7738decfc007708d93f5f0e498 Mon Sep 17 00:00:00 2001 From: wxz Date: Wed, 31 Mar 2021 14:56:02 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BF=AE=E6=94=B9=EF=BC=9A=E6=97=A5=E5=BF=97?= =?UTF-8?q?=E5=A2=9E=E5=8A=A0=E4=BA=86http=20header=E7=9A=84=E6=89=93?= =?UTF-8?q?=E5=8D=B0=EF=BC=9B=20=E5=85=A5=E5=8F=82=E6=89=93=E5=8D=B0?= =?UTF-8?q?=E4=BD=BF=E7=94=A8JSON=E7=9A=84=E6=A0=BC=E5=BC=8F?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../tools/aspect/BaseRequestLogAspect.java | 34 +++++++++++++++++-- 1 file changed, 32 insertions(+), 2 deletions(-) diff --git a/epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/aspect/BaseRequestLogAspect.java b/epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/aspect/BaseRequestLogAspect.java index 4b3496ee36..bdff667e81 100644 --- a/epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/aspect/BaseRequestLogAspect.java +++ b/epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/aspect/BaseRequestLogAspect.java @@ -1,5 +1,6 @@ package com.epmet.commons.tools.aspect; +import com.alibaba.fastjson.JSON; import com.epmet.commons.tools.constant.AppClientConstant; import com.epmet.commons.tools.constant.ThreadLocalConstant; import com.epmet.commons.tools.exception.*; @@ -14,6 +15,9 @@ import javax.servlet.http.HttpServletRequest; import java.time.Duration; import java.time.LocalDateTime; import java.util.Arrays; +import java.util.Enumeration; +import java.util.HashMap; +import java.util.Map; /** * 日志切面 @@ -54,6 +58,8 @@ public abstract class BaseRequestLogAspect { // transactionSerial = UUID.randomUUID().toString(); //} + Map requestHeaders = getRequestHeaders(request); + // 将当前线程名称设置为事务流水号 if (!StringUtils.isEmpty(transactionSerial)) { Thread.currentThread().setName(transactionSerial); @@ -64,7 +70,8 @@ public abstract class BaseRequestLogAspect { try { Object[] args = point.getArgs(); ThreadLocalConstant.requestParam.set(Arrays.toString(point.getArgs())); - log.info(">>>>>>>>请求信息>>>>>>>>:事务流水号:{},url:{} ,method:{},请求参数:{}", transactionSerial, requestURI, method, objectsToString(args)); + log.info(">>>>>>>>请求信息>>>>>>>>:事务流水号:{},url:{} ,method:{},请求参数:{},请求头:{}", + transactionSerial, requestURI, method, objectsToString(args), requestHeaders); result = point.proceed(); resultInfoLog(transactionSerial, getExecPeriod(startTime), result); } catch (RenException e) { @@ -91,6 +98,23 @@ public abstract class BaseRequestLogAspect { return result; } + /** + * @Description 获取请求头信息 + * @return + * @author wxz + * @date 2021.03.31 13:59 + */ + private Map getRequestHeaders(HttpServletRequest request) { + Enumeration headerNames = request.getHeaderNames(); + HashMap headerMap = new HashMap<>(); + while (headerNames.hasMoreElements()) { + String headerName = headerNames.nextElement(); + String headerValue = request.getHeader(headerName); + headerMap.put(headerName, headerValue); + } + return headerMap; + } + /** * info日志 * @param transactionSerial @@ -225,7 +249,13 @@ public abstract class BaseRequestLogAspect { StringBuilder builder = new StringBuilder("["); for (Object object : args) { if (object != null) { - builder.append(object.toString()); + try { + // 尝试作为json解析 + String objectString = JSON.toJSONString(object); + builder.append(objectString); + } catch (Exception e) { + builder.append(object.toString()); + } builder.append(","); } }