# 定时任务运维日志监控 > status: complete > created: 2026-07-19 > completed: 2026-07-20 > complexity: 🟡中等 > parent: code-copilot/changes/定时任务优化/spec.md > version: V5 > revision: V5.1 complete > dependency: 定时任务可靠性加固、定时任务并发重试治理 > ui-baseline: code-copilot/changes/定时任务优化/ui-reference.md ## 1. 目标 在执行生命周期稳定后补齐日志查询、详情、导出、留存和轻量运维摘要。本版本不发送告警,也不改造权限模型。 ## 2. 功能范围 - [x] 日志支持任务、分组、执行状态、触发来源和时间范围筛选。 - [x] 日志详情展示受控结果和异常摘要,不返回任务参数中的敏感字段。 - [x] 日志导出复用系统导出配置,排除任务参数、完整结果和完整异常。 - [x] 任务详情展示最近执行记录、上次状态、下一次触发和连续失败数。 - [x] 监控接口返回近 24 小时执行量、成功率、失败率、跳过量和连续失败任务。 - [x] 日志留存继续使用索引和专用物理清理,不修改 MySQL 分区。 - [x] 前端完成组合筛选、详情、导出和轻量摘要。 ## 3. 明确不做 - 不发送站内信、邮件或 Webhook。 - 不移除当前超级管理员控制边界。 - 不增加资源权限、角色模板或操作审计。 - 不建设复杂 BI 大盘或实时流式监控。 ## 4. 数据变更 - sys_job_config 增加 consecutive_failures。 - 为 sys_job_log 增加状态/来源/时间组合索引。 - 创建 sys_job_log_export 导出配置,显式排除敏感字段。 - 不增加告警渠道、收件人或 Webhook 字段。 ## 5. 接口 | 接口 | 说明 | |---|---| | GET /job/log/page | 组合筛选 | | GET /job/log/:id | 安全详情 | | POST /job/log/export | 按系统导出配置导出 | | GET /job/config/:id/overview | 任务执行摘要 | | GET /job/monitor/summary | 近 24 小时轻量监控 | ## 6. 验收标准 - 前端时间范围与 Mapper XML SQL 条件一致。 - 导出文件不包含 jobParam、完整 result 或 exceptionMsg。 - 任务概览和 24 小时摘要与日志聚合结果一致。 - 留存清理只物理删除超期日志,不影响任务配置。 ## 7. 确认门禁 - [x] 确认本版本只做运维可观测性,不发送失败告警。 - [x] 确认没有容量证据前不修改历史表分区。 ## 8. 实施结果 - 迁移 `V1.0.44__add_job_log_observability.sql` 增加连续失败计数、日志组合索引、触发来源字典和安全导出配置,并完成存量计数回填。 - 日志列表、详情和导出分别使用 `JobLogVO`、`JobLogDetailVO` 和 `JobLogExportVO`,不向前端或导出文件暴露 `jobParam`、完整 `result` 或 `exceptionMsg`。 - 连续失败计数遵循 `FAILED` 递增、`SUCCESS` 清零、`SKIPPED` 不变,且只在日志终态更新成功后变更。 - 增加任务概览和近 24 小时监控接口;前端完成组合筛选、详情弹窗、安全导出、最近执行记录和监控摘要。 - 日志留存仍使用专用物理清理 SQL,并明确排除运行中日志;未增加告警、权限、Webhook 或数据库分区能力。 ## 9. 验收结论 - V5 定向后端测试 15/15、Job 模块 94/94、前端定向测试 16/16、Admin Reactor 42/42 均通过。 - Mapper XML、Flyway placeholder、冲突标记、定向 ESLint、前端生产构建和 `git diff --check` 通过。 - 生产预览入口在桌面和窄屏均返回 200,未发现脚本异常或静态资源失败;因本轮按边界未启动 MySQL、Redis 和 Admin,应用停在初始化加载态,未执行已登录任务页和真实接口联调。 - 开发环境仍需验收 Flyway 实跑、鉴权接口数据、导出文件内容和真实聚合结果;这些环境项不扩展 V5 的实现范围。 ## 10. V5.1 运行日志界面优化 - 保持现有日志查询、详情、导出、权限和后端协议不变,只调整前端信息架构与样式。 - 单任务概览收敛为任务身份、最近状态、下次执行、连续失败和最近执行序列,不重复堆叠标题卡片。 - 筛选与执行记录合并为一个稳定工作区;主列表移除执行器、结束时间等技术字段,默认聚焦任务、状态与来源、开始时间、耗时和重试。 - 支持点击有权限的日志行查看详情;详情从居中大弹窗改为右侧抽屉,按执行概览、时间线、结果/异常摘要和技术信息分层。 - 技术字段默认折叠;桌面与窄屏均不得出现操作遮挡、关键状态截断或不必要的横向滚动。 ### 实施结论 - 日志筛选和数据表已合并为单一记录工作区;单任务上下文隐藏重复任务列,主列表只保留状态/来源、开始时间、耗时、重试和详情入口。 - 日志行在具备详情权限时支持鼠标和键盘进入详情;开始时间按开始、触发、计划时间顺序回退。 - 详情已改为右侧抽屉,结果/异常保持安全摘要,执行器、执行实例和流程实例移入默认折叠的技术信息。 - 目标 Vitest `5/5`、目标 ESLint、前端生产构建和静态空白检查通过;浏览器自动化因当前沙箱禁止 Chromium MachPort 注册而未执行真实截图验收。