业务操作日志是记录用户或系统业务操作的详细记录,包含操作时间、操作人、操作类型(增删改查等)、操作内容、操作结果(成功/失败)、IP地址、业务数据ID等信息,不同于系统日志,操作日志专注于业务层面,用于审计追踪、问题排查、数据恢复和合规要求。

打开 [系统管理 -> 审计日志 -> 操作日志] 菜单,可以看到对应的列表,如下图所示:

# 1 使用示例

# 01 创建用户

首先 LogRecordConstants 类中,定义 SYSTEM_USER_CREATE_SUB_TYPESYSTEM_USER_CREATE_SUCCESS 变量。

如下图所示:

如下图,在 AdminUserService 创建用户方法上,添加 @LogRecord 注解。

日志内容如下图:

# 02 修改用户

在 LogRecordConstants 类中,定义 SYSTEM_USER_UPDATE_SUB_TYPESYSTEM_USER_UPDATE_SUCCESS 变量。如下图所示:

然后在 AdminUserService 的修改用户方法上,添加注解:

当我们修改用户后,日志如下图:

1、更新日志注解使用了 Diff 函数

String SYSTEM_USER_UPDATE_SUCCESS = "更新了用户【{{#user.nickname}}】: {_DIFF{#updateReqVO}}";
1

2、实体 Bean 中添加 Diff 注解

# 2 基本原理

操作日志记录底层是通过 框架 mzt-biz-log 实现的。

代码地址:https://github.com/mouzt/mzt-biz-log

所有基于 mzt-biz-log 的封装都在 system framework 里的 operatelog 包。

image-20250817173111743

1、 添加 bizlog 依赖

我们在 magic-module-system 模块的 pom 文件中添加依赖:

<dependency>
     <!-- Spring Boot 通用操作日志组件,基于注解实现 -->
      <!-- 此组件解决的问题是:「谁」在「什么时间」对「什么」做了「什么事」 -->
     <groupId>io.github.mouzt</groupId>
     <artifactId>bizlog-sdk</artifactId>
</dependency>
1
2
3
4
5
6

2、开启 mzt-biz-log

定义 OperateLogConfiguration ,该类主要用于开启 mzt-biz-log 。

如上图,操作日志配置类 OperateLogConfiguration 添加 @EnableLogRecord 注解。

同时,需要实现 日志服务接口 ILogRecordService 。

3、日志服务接口实现类

record 方法是 ILogRecordService 接口的实现,用于处理操作日志的记录。

该方法接收一个 LogRecord 对象作为参数,并将其转换为系统内部的 OperateLogCreateReqDTO 对象,最终通过 operateLogService 异步记录到数据库中。

上次更新: 2026/6/28