diff --git a/pom.xml b/pom.xml index 8f82e2a56fe7d22b739044f435a650e47804155f..09b5c086bf6c763a3d9f37876b6b76845efadbf6 100644 --- a/pom.xml +++ b/pom.xml @@ -83,6 +83,10 @@ org.projectlombok lombok + + org.aspectj + aspectjrt + com.alibaba druid @@ -125,6 +129,10 @@ mybatis-spring-boot-starter 2.1.0 + + org.springframework.boot + spring-boot-starter-aop + org.springframework.boot spring-boot-starter-web diff --git a/src/main/java/org/enthusa/askdata/aspect/HttpLogAspect.java b/src/main/java/org/enthusa/askdata/aspect/HttpLogAspect.java new file mode 100644 index 0000000000000000000000000000000000000000..03c1e85583e85e9e8269471d41172c2bfada1472 --- /dev/null +++ b/src/main/java/org/enthusa/askdata/aspect/HttpLogAspect.java @@ -0,0 +1,33 @@ +package org.enthusa.askdata.aspect; + +import lombok.extern.slf4j.Slf4j; +import org.aspectj.lang.JoinPoint; +import org.aspectj.lang.annotation.Aspect; +import org.aspectj.lang.annotation.Before; +import org.aspectj.lang.annotation.Pointcut; +import org.springframework.stereotype.Component; +import org.springframework.web.context.request.RequestContextHolder; +import org.springframework.web.context.request.ServletRequestAttributes; + +import javax.servlet.http.HttpServletRequest; + +/** + * @author henry + * @date 2023/8/28 + */ +@Aspect +@Component +@Slf4j +public class HttpLogAspect { + + @Pointcut("execution(public * org.enthusa.askdata.controller..*.*(..))") + public void httpLog() { + } + + @Before("httpLog()") + public void doBefore(JoinPoint joinPoint) { + ServletRequestAttributes attributes = (ServletRequestAttributes) RequestContextHolder.getRequestAttributes(); + HttpServletRequest request = attributes.getRequest(); + log.info("{} {}, Args: {}", request.getMethod(), request.getRequestURL(), joinPoint.getArgs()); + } +}