Skip to content

操作日志 ​

一句话:谁在什么时候对什么做了什么的审计台账。后端对被标注的写操作(增删改、导入导出、登录登出之外的业务动作)自动记一条,本页负责查与导出。只读。

功能在哪 ​

  • 菜单路径:系统管理 → 审计日志 → 操作日志
  • 地址栏路由:/system/log/operate-log
  • 主要权限:system:operate-log:query(看/详情)、system:operate-log:export(导出)

操作日志列表(租户管理员视角)

界面认识 ​

区域作用常用操作
查询区操作人(下拉可输入过滤)/ 操作模块 / 操作名 / 操作内容 / 操作时间 / 业务编号「搜索」「重置」
工具条「导出」按当前查询条件下载 操作日志.xls导出前有「是否确认导出数据项?」确认
列表序号 / 日志编号 / 操作人 / 操作模块 / 操作名 / 操作内容 / 操作时间 / 业务编号 / 操作 IP行内「详情」

「操作模块 / 操作名 / 业务编号」是排查的三个抓手

  • 操作模块:功能域(如「用户管理」);
  • 操作名:动作(如「新增用户」);
  • 业务编号:被操作的那条数据的 ID——从业务页面抄 ID 过来反查「这条数据被谁改过」最快。

常用操作 ​

查一条数据的变更历史 ​

  1. 查询区「业务编号」填数据 ID(如用户编号),「搜索」;
  2. 列表按时间倒序列出所有涉及该编号的操作;
  3. 行内「详情」看完整上下文。

看详情:排障要的四样东西 ​

详情弹窗除基本信息外,还有:

字段排障用途
链路追踪(traceId)拿它去后端日志里 grep,能串起这次请求的全部服务端日志
操作拓展参数请求的入参快照(改前改后的值都在里面)
请求 URL方法 + 地址,确认前端调的是哪个接口
操作人 IP / UA判断操作来源(办公网还是外网、什么浏览器)

操作日志详情:traceId、入参快照、请求 URL(租户管理员视角)

导出留档 ​

点「导出」→ 确认 → 下载 Excel。按当前查询条件导出:先缩小时间范围与模块再导,避免一次拉全量。

字段说明 ​

字段含义
操作人 / 操作人编号发起操作的用户(详情里另有 IP 与 UA)
操作内容一句话摘要(如「新增用户:张三」)
操作时间服务端记录时间
业务编号被操作数据的 ID;部分操作无业务编号则为空

只读且自动产生

本页没有新增/修改/删除:日志由后端在接口执行时写入,界面只负责查。删日志属于数据保留策略范畴,不在界面能力内。

视角对照 ​

视角看到什么
超管 admin / 租户管理员 docadmin本租户全部操作日志
无 system:operate-log:query 的角色无此菜单;审计能力只给到管理员

进阶 ​

  • 登录日志:登录/登出维度的台账,与本页互补;
  • 权限诊断:操作被拒(403)时查授权链路;
  • 开发侧:给接口加操作日志 = 在 Controller 方法上加操作日志注解并声明模块/动作,详见开发手册。

常见问题 ​

Q:为什么某个操作没有日志? A:操作日志靠后端注解声明,未标注的接口不记。读操作(查询)默认不记;若某写操作查不到,说明它没被标注,属开发侧补注解的范畴。

Q:「操作内容」和实际改动对不上? A:详情里的「操作拓展参数」是入参快照,以它为准;列表摘要只是给人看的一句话。

Q:能用它恢复误删的数据吗? A:不能直接恢复。但详情的入参快照里有删除前的关键字段,可作为手工恢复的依据。

Q:日志会永久保存吗? A:界面不提供清理;保留周期由运维侧的数据保留策略决定。需要长期留档请定期「导出」。

Q:traceId 拿去后端日志搜不到? A:确认搜的是同一时间窗的日志文件,且后端日志级别没把该请求的日志过滤掉;日志已轮转归档时需到归档文件里搜。