1.引入相关依赖
<dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-aop</artifactId> </dependency>
2.创建TimeAspect类
@Aspect @Component public class TimeAspect { private final static Logger logger = LoggerFactory.getLogger(TimeAspect.class); @Pointcut("execution(public * com.springboot.springbootlearning.controller.TestController.*(..))") public void log(){} @Before("log()") public void doBefore(JoinPoint joinPoint){ ServletRequestAttributes attributes = (ServletRequestAttributes) RequestContextHolder.getRequestAttributes(); HttpServletRequest request = attributes.getRequest(); //url logger.info("url={}",request.getRequestURI()); //method logger.info("method={}",request.getMethod()); //ip logger.info("ip={}",request.getRemoteAddr()); //类方法 logger.info("class_method={}",joinPoint.getSignature().getDeclaringType()+"."+joinPoint.getSignature().getName()); //参数 logger.info("args={}",joinPoint.getArgs()); } @After("log()") public void doAfter(){ logger.info("doAfter"); } @AfterReturning(returning = "object",pointcut = "log()") public void doAfterReturning(Object object) { logger.info("response={}",object.toString()); } }