网站对齐原则,怎么看一个网站用什么语言做的,克旗网站制作5229998,网址一在 Spring Boot 3.1.12 中使用 AOP 实现日志打印#xff0c;记录前端传入的参数和后端返回的数据#xff0c;可以按照以下步骤进行#xff1a;
添加依赖 首先#xff0c;确保你的 pom.xml 文件中包含了 Spring AOP 的依赖#xff1a;
dependencygroupId…在 Spring Boot 3.1.12 中使用 AOP 实现日志打印记录前端传入的参数和后端返回的数据可以按照以下步骤进行
添加依赖 首先确保你的 pom.xml 文件中包含了 Spring AOP 的依赖
dependencygroupIdorg.springframework.boot/groupIdartifactIdspring-boot-starter-aop/artifactId
/dependency创建切面类 接下来创建一个切面类使用 Aspect 注解标记该类为切面并使用 Component 注解将其注册为 Spring Bean。
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;Aspect
Component
public class LoggingAspect {private final Logger logger LoggerFactory.getLogger(this.getClass());// 定义切点匹配所有Controller层的方法Pointcut(execution(* com.example.demo.controller..*(..)))public void controllerMethods() {}// 在方法执行前打印请求参数Before(controllerMethods())public void logBefore(JoinPoint joinPoint) {logger.info(Method: {}, joinPoint.getSignature().toShortString());Object[] args joinPoint.getArgs();for (Object arg : args) {logger.info(Request Param: {}, arg);}}// 在方法返回后打印返回结果AfterReturning(pointcut controllerMethods(), returning result)public void logAfterReturning(JoinPoint joinPoint, Object result) {logger.info(Method: {}, joinPoint.getSignature().toShortString());logger.info(Response: {}, result);}
}配置日志级别 确保你的 application.properties 或 application.yml 文件中配置了适当的日志级别以便能够看到日志输出。
application.properties
logging.level.com.example.demoDEBUG测试 启动你的 Spring Boot 应用并访问一些 Controller 方法你应该能够在控制台中看到类似以下的日志输出
2023-10-10 12:34:56.789 DEBUG 12345 --- [nio-8080-exec-1] com.example.demo.LoggingAspect : Method: ExampleController.exampleMethod
2023-10-10 12:34:56.789 DEBUG 12345 --- [nio-8080-exec-1] com.example.demo.LoggingAspect : Request Param: param1
2023-10-10 12:34:56.789 DEBUG 12345 --- [nio-8080-exec-1] com.example.demo.LoggingAspect : Request Param: param2
2023-10-10 12:34:56.789 DEBUG 12345 --- [nio-8080-exec-1] com.example.demo.LoggingAspect : Method: ExampleController.exampleMethod
2023-10-10 12:34:56.789 DEBUG 12345 --- [nio-8080-exec-1] com.example.demo.LoggingAspect : Response: ExampleResponse进一步优化 你可以根据需要进一步优化切面例如 只记录特定注解标记的方法。 记录异常信息。 使用 Around 注解来更灵活地控制方法的执行和日志记录。
通过这些步骤你可以轻松地在 Spring Boot 3.1.12 中使用 AOP 实现日志打印记录前端传入的参数和后端返回的数据。