From 54c56e1e414cf8a67c2a6fa3c5ea8e87ebb4217d Mon Sep 17 00:00:00 2001 From: Stormeye Wu Date: Fri, 22 Feb 2019 14:18:10 +0800 Subject: [PATCH] =?UTF-8?q?[C=E7=AB=AF][=E4=BF=AE=E6=94=B9]:=E6=B7=BB?= =?UTF-8?q?=E5=8A=A0api=E8=AE=A1=E6=97=B6?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../HttpServletRequestWrapperFilter.java | 2 +- .../iformall/interceptor/WebLogAspect.java | 38 +++++++++++++------ .../src/main/resources/application-dev.yml | 2 +- 3 files changed, 29 insertions(+), 13 deletions(-) diff --git a/mallinkCApi/src/main/java/com/iformall/interceptor/HttpServletRequestWrapperFilter.java b/mallinkCApi/src/main/java/com/iformall/interceptor/HttpServletRequestWrapperFilter.java index 6ea1af6f0..e876c12a1 100644 --- a/mallinkCApi/src/main/java/com/iformall/interceptor/HttpServletRequestWrapperFilter.java +++ b/mallinkCApi/src/main/java/com/iformall/interceptor/HttpServletRequestWrapperFilter.java @@ -28,7 +28,7 @@ public class HttpServletRequestWrapperFilter implements Filter { } else { chain.doFilter(requestWrapper, response); } - logger.debug("doFilter end" + (System.currentTimeMillis()- start)); + logger.debug("doFilter end: " + (System.currentTimeMillis()- start) + "ms"); } @Override diff --git a/mallinkCApi/src/main/java/com/iformall/interceptor/WebLogAspect.java b/mallinkCApi/src/main/java/com/iformall/interceptor/WebLogAspect.java index 12f35c7f9..c66aeef83 100644 --- a/mallinkCApi/src/main/java/com/iformall/interceptor/WebLogAspect.java +++ b/mallinkCApi/src/main/java/com/iformall/interceptor/WebLogAspect.java @@ -1,5 +1,7 @@ package com.iformall.interceptor; +import com.iformall.utils.IPUtil; +import lombok.Data; import org.aspectj.lang.JoinPoint; import org.aspectj.lang.annotation.AfterReturning; import org.aspectj.lang.annotation.Aspect; @@ -19,7 +21,16 @@ import java.util.Arrays; public class WebLogAspect { private final Logger logger = LoggerFactory.getLogger(this.getClass()); - ThreadLocal startTime = new ThreadLocal<>(); + @Data + private class MethodInfo { + Long startTime; + String url; + String ip; + String method; + String classMethod; + } + + ThreadLocal startInfo = new ThreadLocal<>(); @Pointcut("execution(public * com.iformall.controller..*.*(..))") @@ -28,18 +39,17 @@ public class WebLogAspect { @Before("webLog()") public void doBefore(JoinPoint joinPoint) throws Throwable { logger.debug("aspect start"); - startTime.set(System.currentTimeMillis()); - // 接收到请求,记录请求内容 ServletRequestAttributes attributes = (ServletRequestAttributes) RequestContextHolder.getRequestAttributes(); HttpServletRequest request = attributes.getRequest(); - // 记录下请求内容 - logger.info("URL : " + request.getRequestURL().toString()); - logger.info("HTTP_METHOD : " + request.getMethod()); - logger.info("IP : " + request.getRemoteAddr()); - logger.info("CLASS_METHOD : " + joinPoint.getSignature().getDeclaringTypeName() + "." + joinPoint.getSignature().getName()); - logger.info("ARGS : " + Arrays.toString(joinPoint.getArgs())); + MethodInfo info = new MethodInfo(); + info.setUrl(request.getRequestURL().toString()); + info.setStartTime(System.currentTimeMillis()); + info.setIp(IPUtil.getIpAddr(request)); + info.setMethod(request.getMethod()); + info.setClassMethod(joinPoint.getSignature().getDeclaringTypeName() + "." + joinPoint.getSignature().getName()); + startInfo.set(info); logger.debug("aspect start ..."); } @@ -47,8 +57,14 @@ public class WebLogAspect { public void doAfterReturning(Object ret) throws Throwable { logger.debug("aspect after"); // 处理完请求,返回内容 - logger.info("RESPONSE : " + ret); - logger.info("SPEND TIME : " + (System.currentTimeMillis() - startTime.get())); + MethodInfo info = startInfo.get(); + StringBuilder sb = new StringBuilder(); + sb.append("URL: ").append(info.getUrl()) + .append(", METHOD: ").append(info.getMethod()) + .append(", DO: ").append(info.getClassMethod()) + .append(", IP: ").append(info.getIp()) + .append(", SPEND TIME: ").append(System.currentTimeMillis() -info.getStartTime()).append("ms"); + logger.info(sb.toString()); logger.debug("aspect after .."); } diff --git a/mallinkCApi/src/main/resources/application-dev.yml b/mallinkCApi/src/main/resources/application-dev.yml index 07091e190..746a5c797 100644 --- a/mallinkCApi/src/main/resources/application-dev.yml +++ b/mallinkCApi/src/main/resources/application-dev.yml @@ -64,5 +64,5 @@ fm: logging: level: tk.mybatis: debug - com.iformall.mapper: debug + com.iformall: debug path: ./logs/c \ No newline at end of file