文档产品文档

操作日志与审计功能说明

日志是排查问题和合规审计的基础。本文说明日志类型、记录内容、查询方式与保留策略。

百华产品团队2026-08-29阅读 116有用 20

模块定位

日志记录系统的运行痕迹和用户的操作为,用于:

  • 问题排查(发生了什么导致的问题)
  • 责任追溯(谁做的操作)
  • 合规审计(是否满足法规要求)
  • 安全监控(是否有异常行为)

日志类型

类型 内容 用途
操作日志 用户的操作记录 责任追溯
数据变更日志 数据的修改前后值 数据追溯
登录日志 登录登出记录 安全审计
系统日志 系统运行信息 运维排查
错误日志 异常信息 故障排查
接口日志 接口调用记录 集成排查

操作日志的内容

一条完整的操作日志应包含:

字段 说明
时间 精确到秒
操作人 账号、姓名
操作类型 新增/修改/删除/查询/导出
操作对象 模块、单据号
操作内容 具体的变更(前后值)
IP 地址 来源
终端 设备标识
结果 成功/失败

"变更前后值"是最有价值的部分。没有它,只知道"某人改了工单",不知道改了什么。

"导出"操作要记录。数据导出是常见的数据泄露途径。

查询功能

支持按以下条件查询:

  • 时间范围
  • 操作人
  • 操作类型
  • 模块/对象
  • 关键字

查询性能要注意:日志表数据量增长很快,必须建索引,且限制查询时间范围。

保留策略

日志类型 建议保留期 原因
操作日志 1-3 年 审计要求
数据变更日志 3-5 年 追溯要求(按行业)
登录日志 1 年 安全审计
系统/错误日志 3-6 个月 排查为主
接口日志 1-3 个月 排查为主

行业法规可能有明确要求。比如医药行业(GMP)对记录保存有严格规定,医疗器械(UDI)也有要求。具体保留期要咨询合规部门。

归档

日志表增长到一定程度会影响性能。处理方式:

  1. 分区:按月分区,便于清理
  2. 归档:老数据转到归档表或归档库
  3. 冷热分离:近期数据在线,历史数据离线
  4. 压缩:老日志可以压缩存储

归档不是删除。审计需要时还要能查到。

审计相关的功能

不可篡改

审计日志本身要防止被修改。措施:

  • 日志表只允许插入,不允许更新和删除
  • 应用账号没有直接改日志的权限
  • 定期校验日志完整性

关键操作留痕

以下操作必须记录,且要有审批:

操作 说明
数据删除 谁删了什么
权限变更 谁给谁加了什么权限
参数修改 改了什么参数
批量导出 导出了哪些数据
数据修正 修正了哪条数据、原因

数据修正的规范

修正历史数据时,应该:

  1. 填写修正原因
  2. 记录原值和新值
  3. 需要审批的走审批
  4. 保留原始记录,不覆盖

"保留原始记录"是审计的硬要求。直接覆盖会让审计无法追溯。

常见问题

问题 原因与处理
查不到某操作日志 检查该操作是否被记录
日志查询很慢 限制时间范围、优化索引
日志表太大 归档历史数据
日志被误删 限制删除权限

设计建议

  1. 默认记录所有写操作,读操作可选择性记录(量太大)
  2. 日志要包含业务主键(单据号),便于按业务对象查询
  3. 日志界面要友好:能按单据查看它的完整变更历史
  4. 提供"数据变更对比"功能:直观展示改了什么

一个实用功能

"单据变更历史":在单据详情页提供入口,能查看这张单据的所有变更记录。

这个功能在排查"数据为什么变成这样"时非常有用,也能对操作人员形成约束(知道操作有痕迹)。

日志的表结构、保留策略与审计报表,[待补充:产品团队补齐]。

这篇内容对你有帮助吗?

当前为游客态,投票按设备去重