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

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.kler.cn/a/397532.html

相关文章:

  • 31.3 XOR压缩和相关的prometheus源码解读
  • IDC 报告:百度智能云 VectorDB 优势数量 TOP 1
  • ubuntu安装 Pycharm
  • WebChromeClient 方法分类及其功能
  • 【Linux:IO多路复用(select、poll函数)
  • 基于rk356x u-boot版本功能分析及编译相关(三)Makefile分析
  • 打印1~N
  • PHP正则表达式
  • 【Java SE】lambda 表达式
  • 15分钟学 Go 第 56 天:架构设计基本原则
  • 浪潮服务器(BMC)监控易监测指标解读
  • 4399 C++面试题及参考答案
  • IT行业现状与未来趋势
  • SOL链上Meme生态的崛起与未来#Dapp开发#链游#交易所#公链搭建
  • 和 Nostr 探索 Web5 的未来
  • 卓越API设计:简洁统一开放规范
  • 【学习心得】数据分析三剑客跟学Gitee仓库
  • C++知识点总结(57):STL综合
  • Ubuntu 的 ROS 操作系统 turtlebot3 gazebo仿真
  • 代码随想录算法训练营第四十八天|Day48 单调栈
  • 使用 PDF API 合并 PDF 文件
  • Vue 组件通信及进阶语法
  • 深入解析 OpenHarmony 构建系统-4-OHOSLoader类
  • HCIP-HarmonyOS Application Developer 习题(二十二)
  • 【鸿蒙开发】第十七章 Camera相机服务
  • 网络协议之TCP