Spring Boot 2.x(十一):AOP实战--打印接口日志
接口日志有啥用 在我们日常的开发过程中,我们可以通过接口日志去查看这个接口的一些详细信息。比如客户端的IP,客户端的类型,响应的时间,请求的类型,请求的接口方法等等,我们可以对这些数据进行统计分析,提取出我们想要的信息。 怎么拿到接口日志 这里,我们使用的是Spring的两大杀器之AOP,通过在Controller层定义切点,然后对请求对象进行分析获取接口信息,同时开启一个ThreadLocal来记录响应时间。 关于AOP的注解 @Aspect :将一个类定义为切面类。 @Pointcut :定义一个切入点。 @Before :在切入点开始处切入内容。 @After :在切入点结尾处切入内容。 @AfterReturning :在切入点返回内容之后切入内容(可以用来对处理返回值做一些加工处理。 @Around :在切入点前后切入内容,并自己控制何时执行切入点自身的内容 @AfterThrowing :用来处理当切入内容部分抛出异常之后的处理逻辑。 @Order :在切入点前的操作,按order的值由小到大执行;在切入点后的操作,按order的值由大到小执行。 实战应用 一:引入依赖 首先,我们需要新增引入aop的依赖,以及用于分析客户端信息的UserAgentUtils包,还有用于 @Slf4j 打印日志的Lombok的包: <dependency> <groupId>org