springboot aop日志记录(springboot aop日志管理)

springboot aop日志记录(springboot aop日志管理)代码主要目的是 controller 方法进行日志记录 记录请求的内容 调用的方法 参数以及响应的内容和请求处理的时间 1 介绍 AOP Aspect Oriented Programming 面向切面编程 是 Spring 框架中的一个重要特性 允许开发者定义跨多个对象的横切关注点 在 Spring Boot 中 AOP 的使用几个步骤 定义 Aspect

大家好,我是讯享网,很高兴认识大家。



代码主要目的是controller方法进行日志记录,记录请求的内容、调用的方法、参数以及响应的内容和请求处理的时间。

1.介绍

AOP(Aspect-Oriented Programming,面向切面编程)是Spring框架中的一个重要特性,允许开发者定义跨多个对象的横切关注点。

在Spring Boot中,AOP的使用几个步骤:

  1. 定义Aspect:Aspect是包含一些advice(通知)的类。通知是实际执行的代码,它可以是一个方法或者一个lambda表达式。在Aspect中,你可以定义前置通知(Before)、后置通知(After)、返回通知(AfterReturning)、异常通知(AfterThrowing)等。
  2. 配置AspectJ自动代理
  3. 定义Pointcut表达式:Pointcut表达式定义了通知何时执行。你可以通过定义方法签名、类名、包名等来定义Pointcut表达式。
 

讯享网

 2.代码解释:

讯享网

3.整体代码介绍

用于记录请求和响应的日志。

  1. 定义Aspect: 是一个Aspect,它包含了前置通知(Before)、后置通知(AfterReturning)功能。


    讯享网

  2. Pointcut定义:通过  注解定义了一个切入点表达式,用于匹配和包下的所有public controller方法。
  3. 前置通知(Before)
    • :在匹配到切入点的方法执行之前,执行前置通知的方法。
    • 在  方法中,首先获取了当前的请求信息,并记录了请求的URL、调用的类和方法以及请求参数。
    • 同时,还记录了当前的时间戳,用于后续计算请求处理时间。
  4. 后置通知(AfterReturning)

    • :在匹配到切入点的方法执行之后且在返回结果之前,执行后置通知的方法。
    • 在  方法中,首先将返回的结果转换为JSON字符串并记录下来。
    • 计算并记录了请求处理的时间。
    • 最后清除了之前记录的起始时间。
  5. 日志记录:使用SLF4J的Logger来记录日志,记录了请求的URL、方法、参数以及响应的内容和请求处理的时间。
  6. 线程局部变量:使用  来存储起始时间,这样每个线程的起始时间都是独立的,不会互相干扰。

代码主要目的是对controller方法进行日志记录,记录请求的内容、调用的方法、参数以及响应的内容和请求处理的时间。

小讯
上一篇 2025-04-15 20:14
下一篇 2025-04-25 11:08

相关推荐

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容,请联系我们,一经查实,本站将立刻删除。
如需转载请保留出处:https://51itzy.com/kjqy/178811.html