当前位置: 首页 > news >正文

SpringBoot使用AspectJ的@Around注解实现AOP全局记录接口:请求日志、响应日志、异常日志

 Spring 面向切面编程(AOP),系列文章:

《Spring面向切面编程(AOP)的简单实例》

《Spring使用AspectJ的注解式实现AOP面向切面编程》

《SpringBoot使用AspectJ实现AOP记录接口:请求日志、响应日志、异常日志》

《SpringBoot使用AspectJ的@Around注解实现AOP全局记录接口:请求日志、响应日志、异常日志》 

1、AspectJ 框架 @Around 注解简介

@Around 是 AspectJ 框架中用于环绕通知(Around Advice)的注解。环绕通知是一种非常强大的通知类型,它允许你在目标方法执行前后插入自定义的行为,甚至可以决定是否继续执行目标方法或替换其返回值。

使用 @Around 注解时,需要注意以下几点:

异常处理:在环绕通知中,你必须处理或重新抛出任何在 joinPoint.proceed() 调用中抛出的异常。

性能影响:由于环绕通知可以在方法执行前后执行自定义逻辑,因此可能会对性能产生影响。在性能敏感的应用中,应谨慎使用。

关于 AspectJ 框架的详细使用方法,请求点击浏览文章:《Spring使用AspectJ的注解式实现AOP面向切面编程》

2、SpringBoot 使用 AspectJ 实现日志记录操作

【示例】SpringBoot 项目中使用 AspectJ 实现日志记录操作。

(1)创建数据库表

使用 MySQL 数据库,创建表 tbl_request_log(请求日志表)。

-- 创建数据表:tbl_request_log(请求日志表)
DROP TABLE IF EXISTS tbl_request_log;
CREATE TABLE IF NOT EXISTS tbl_request_log
( log_id BIGINT(20) AUTO_INCREMENT PRIMARY KEY COMMENT '日志ID(主键、自增)',execute_state	VARCHAR(50) DEFAULT NULL COMMENT '执行状态(成功执行、发生异常)',class_name VARCHAR(100) DEFAULT NULL COMMENT '所属类名',method_name VARCHAR(100) DEFAULT NULL COMMENT '方法名称',request_url VARCHAR(100) DEFAULT NULL COMMENT '请求地址',request_method VARCHAR(50) DEFAULT NULL COMMENT '请求方式(GET、POST等)',login_account VARCHAR(50) DEFAULT NULL COMMENT '登录账户',ip_address VARCHAR(50) DEFAULT NULL COMMENT 'IP地址',request_time TIMESTAMP DEFAULT CUR
http://www.lryc.cn/news/486404.html

相关文章:

  • WPF下播放Rtmp的解决方案
  • 7.高可用集群架构Keepalived双主热备原理
  • 为以人工智能为中心的工作负载重新设计的全局控制台
  • go channel中的 close注意事项 range取数据
  • Vue3 -- 项目配置之eslint【企业级项目配置保姆级教程1】
  • 鸿蒙开发应用权限管理
  • 【数据库】如何保证数据库迁移过程中数据的一致性?
  • C++之内存管理
  • ISP是什么?
  • 机房动环境监控用各种列表已经淘汰了,现在都是可视化图表展示了
  • RHCE的练习(12)
  • uniapp自动注册机制:easycom
  • 【论文阅读】(Security) Assertions by Large Language Models
  • C++ 编程基础(5)类与对象 | 5.8、面向对象五大原则
  • node.js中express的基本了解
  • AI大模型(一):Prompt AI编程
  • ArcGIS Pro属性表乱码与字段名3个汉字解决方案大总结
  • 小程序-基于java+SpringBoot+Vue的驾校预约平台设计与实现
  • 计算机网络网关简介
  • 如何用python将pdf转换为json格式
  • STL关联式容器介绍
  • java计算机毕业设计选题参考3000篇
  • JWT介绍、测试案例 以及实际开发中的使用
  • 快排和归并
  • VUE+SPRINGBOOT实现邮箱注册、重置密码、登录功能
  • Vue 项目打包后环境变量丢失问题(清除缓存),区分.env和.env.*文件
  • 创建vue+electron项目流程
  • 3. 用Ruby on Rails创建一个在线商城
  • jmeter常用配置元件介绍总结之配置元件
  • SpringBoot获取请求参数