赞
踩
- <dependency>
- <groupId>org.springframework.boot</groupId>
- <artifactId>spring-boot-starter-aop</artifactId>
- </dependency>
- # 日志配置
- logging:
- level:
- com.xiaomin.page: debug
- package com.xiaomin.page.aspect;
-
- import org.aspectj.lang.JoinPoint;
- import org.aspectj.lang.annotation.AfterReturning;
- import org.aspectj.lang.annotation.Aspect;
- import org.aspectj.lang.annotation.Before;
- import org.aspectj.lang.annotation.Pointcut;
- import org.slf4j.Logger;
- import org.slf4j.LoggerFactory;
- import org.springframework.stereotype.Component;
- import org.springframework.web.context.request.RequestContextHolder;
- import org.springframework.web.context.request.ServletRequestAttributes;
-
- import javax.servlet.http.HttpServletRequest;
- import java.util.Arrays;
-
- /**
- * @author 晓敏
- * @create 2020-03-26 15:11
- */
- @Aspect
- @Component
- public class WebLog {
- private Logger logger = LoggerFactory.getLogger(WebLog.class);
-
- /**
- * 配置切入点
- */
- @Pointcut("execution(* com.xiaomin.page.controller.*.*(..))")
- public void webLog(){}
-
- @Before("webLog()")
- public void doBefore(JoinPoint joinPoint) throws Throwable {
- // 接收到请求,记录请求内容
- 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()));
- }
-
- @AfterReturning(returning = "ret",pointcut = "webLog()")
- public void doAfterReturning(Object ret) throws Throwable {
- // 处理完请求,返回内容
- logger.info("RESPONSE : " + ret);
- }
- }
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。