功能简介
操作日志查询是面向管理员的审计页面,集中记录并回放系统里发生过的关键操作:登录与退出、切换学院、身份代登录、数据备份与恢复、课程归档、教学课件报送、课程增免修补选、监考安排覆盖/更新、监考通知/提醒/自定义信息发送等。每条日志除「类型 / 操作人 / 时间」外,还结构化记录了所属模块、动作、结果(成功/失败)、手动还是自动触发、请求路径、IP、目标对象、错误信息等标签,便于排查误操作、核查数据变化、追踪备份或下发执行情况。页面提供多条件筛选、分页、CSV 导出,以及对消息发送批次的逐条明细下钻。
入口与权限
- 入口:顶部导航
数据管理 → 操作日志查询(页面路由 /operation_logs)。 - 可用角色:管理员与超级管理员。其他角色(含教师、学生)无入口,直接访问会返回 403。
- 可见范围(日志库作用域):
- 学院管理员只看当前学院库的日志。
- 超级管理员可同时看系统默认库与所有已注册学院库的日志,并在每条记录上以「来源」标签标明出处。
- 「身份代登录」状态下(如质量科代登录)该入口会被隐藏。
操作步骤(分角色)
管理员 / 超级管理员:筛选查询
- 进入
数据管理 → 操作日志查询。 - 在筛选区按需组合条件,点「筛选」(漏斗图标)提交:
- 关键词:在「描述 / 错误信息 / 目标 ID」中模糊匹配。
- 操作人:填姓名或一卡通号(系统会把姓名换算回对应账号再匹配)。
- 类型:下拉选择真实出现过的操作类型(如「登录」「备份」「课程归档」「发送监考通知」等),默认「全部」。
- 动作 / 结果 / 方式:分别按动作(action)、结果(成功/失败)、手动/自动筛选,默认均为「全部」。
- 开始日期 / 结束日期:按本地日期区间筛选,含整天;若开始晚于结束会自动纠正顺序。
- 点「重置」(环形箭头)清空全部条件回到默认。
- 列表按时间倒序分页展示,可在「每页条数」选择 20 / 50 / 100 / 200。
管理员 / 超级管理员:导出 CSV
- 点筛选区右侧「导出CSV」,按当前筛选条件导出(最多约 1 万条)。
- CSV 列:时间、操作人、类型、摘要、模块、动作、结果、自动、请求路径、IP、完整描述(含 UTF-8 BOM,Excel 直接打开不乱码)。
管理员 / 超级管理员:查看消息发送明细
- 对监考通知/提醒/自定义信息这类批量发送日志,描述区会出现「查看明细」按钮,并显示该批次「总条数 / 成功 / 失败 / 跳过」。
- 点进去(
/operation_logs/<日志ID>/message_details)可看逐条收件人发送结果与失败原因,详见 信息发送。
字段与状态口径
每条日志的核心字段与标签含义:
| 字段 / 标签 | 含义 |
|---|
| 时间 | 操作发生时间,按系统本地时间显示 |
| 操作人 | 优先显示真实姓名,缺映射时回退为一卡通号;代登录时显示被代登录人 |
| 类型(operation_type) | 操作大类,如登录、备份、课程归档、发送监考通知等 |
| 来源 | (仅超管多库视图)该日志所属的学院库 / 系统默认库 |
| module | 所属模块标签(auth/backup/course_archives/course_changes/message_delivery/invigilation 等) |
| action | 细分动作,如 login、backup_single、send_invigilation_info 等 |
| result | 执行结果:success(成功)/ failed(失败,红色标签) |
| auto | 触发方式:1=自动、0=手动 |
| 代登录 | 出现时表示该操作发生在身份代登录期间,标注「代登录人 → 被代登录人」 |
| 描述 / error | 操作详细描述;失败时附错误信息 |
时间存储口径:当前生产环境为 PostgreSQL,operation_logs.timestamp 读出已是本地时间的 naive 值,页面直接按本地时间展示;仅 SQLite 旧库才按 UTC 近似换算。日期区间筛选据此自动对齐,避免「日期看着对却筛不出」。
结构化标签(module/action/result/auto/path/ip/error 等)以 键=值 形式编码在描述文本里,筛选与展示时再解析还原;这也是为什么模块/动作/结果等筛选本质是对描述文本的精确匹配。
常见问题
- 看不到入口 / 访问报 403:操作日志仅管理员、超级管理员可用,教师与学生无权限;身份代登录期间入口也会隐藏。
- 筛选后没有记录:检查日期区间、类型/动作下拉是否选窄了;操作人尽量用准确姓名或一卡通号。下拉里的类型/动作选项来自实际出现过的日志,没有的类型不会列出。
- 只看到本学院日志:学院管理员按当前学院库隔离,跨库查看需超级管理员账号。
- 导出条数不全:CSV 导出有约 1 万条上限,可缩小日期区间或细化筛选后分批导出。
- 「查看明细」点击后报「请求失败」:消息明细等端点受同一权限与库作用域校验,越权或库不匹配会被拒;若前端只提示通用「请求失败」,优先排查 HTTP 状态码(常见为 302 重定向或 403)。
相关页面
- 用户管理 操作人姓名/账号、角色与可见学院的基础数据来源
- 数据备份与恢复 备份与恢复动作会写入本日志(备份、恢复前快照等),可在此追踪执行情况
- 信息发送 监考通知/提醒/自定义信息的发送会落日志,并支持逐条明细下钻