暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

后端开发自定义注解结合AOP(面向切面编程)实现操作日志的记录

IT那活儿 2025-05-13
78

点击上方“IT那活儿”公众号--专注于企业全栈运维技术分享,不管IT什么活儿,干就完了!!!


  
当我们自动化运维时会遇到记录日志操作,以便于任务执行跟踪,记录定时任务或批量任务的执行情况,下面介绍自定义注解结合AOP(面向切面编程)的配置与使用以及使用效果,其中包含了具体的操作截图实例。

Step1 创建自定义注解

定义一个自定义注解,用于标记需要记录日志的方法。

Step2 定义切面

创建切面类,通过拦截标注了 @OperationLog 的方法来记录操作日志。

Step3 创建服务层

在服务层定义一个操作逻辑。

Step4 创建控制器

在控制器中使用 @OperationLog 注解。

Step5 配置日志输出

确保 application.properties 或 application.yml 中启用了日志输出。

Step6 测试效果

访问接口时,例如:http://localhost:8080/user?userId=123,控制台会输出类似如下的日志:

Step7 可扩展性
  • 持久化日志
    可以将日志记录到数据库,结合 Spring Data JPA 实现。
  • 增强日志内容
    可以记录操作用户(通过 SecurityContextHolder 获取当前用户信息)。
  • 异常日志
    可以通过 @AfterThrowing 捕获异常进行记录。

这样,通过自定义注解和切面,灵活实现了操作日志的记录功能。


END


本文作者:刘首江(上海新炬中北团队)

本文来源:“IT那活儿”公众号

文章转载自IT那活儿,如果涉嫌侵权,请发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论