hi-server/doc/说明文档.md
2026-01-09 00:28:37 -08:00

2.1 KiB
Raw Blame History

报错日志收集log_message

项目规划

  • 目标:新增 log_message 表与采集/查询接口,用于 APP / PC / Web 客户端错误日志收集与分析。
  • 范围:
    • 创建 MySQL 表与迁移脚本02105
    • 新增客户端上报接口 POST /v1/common/log/message/report
    • 新增管理端查询接口 GET /v1/admin/log/message/error/listGET /v1/admin/log/message/error/detail

实施方案

  • 表结构:见 initialize/migrate/database/02120_log_message.up.sql
  • 模型:internal/model/logmessage/(实体、默认 CRUD、筛选
  • 路由:在 internal/handler/routes.go 注册公共与管理端路由。
  • 逻辑:
    • 上报逻辑:internal/logic/common/logMessageReportLogic.go(限流、指纹去重、入库)。
    • 管理查询:internal/logic/admin/log/getErrorLogMessageListLogic.gogetErrorLogMessageDetailLogic.go
  • 类型:internal/types/types.go 新增请求/响应结构。
  • 安全:详细加解密逻辑见 加解密说明文档.md

进度记录

  • 2025-12-02
    • 完成表与索引创建迁移文件。
    • 完成模型与服务注入。
    • 完成公共上报接口与限流、去重逻辑;编译验证通过。
    • 完成管理端列表与详情接口;编译验证通过。
    • 待办:根据运营需求调整限流阈值与日志保留策略。
  • 2026-01-08
    • 完成「项目加解密使用说明」文档编写,涵盖 AES-256-CBC 实现及中间件逻辑。

接口规范

  • 上报:POST /v1/common/log/message/report(详见 doc/api/log_message_report.md
  • 管理端列表:GET /v1/admin/log/message/error/list
    • 筛选platform、level、user_id、device_id、error_code、keyword、start、end分页page、size
    • 响应:{ total, list }
  • 管理端详情:GET /v1/admin/log/message/error/detail?id=...
    • 响应:完整字段

保留策略与安全

  • 限流:按设备/IP 每分钟 120 条(可配置)。
  • 隐私:避免采集敏感数据;服务端对大字段做长度限制与截断。