All checks were successful
Build docker and publish / build (20.15.1) (push) Successful in 7m15s
重构设备解绑逻辑,简化事务处理流程并移除冗余代码。将错误上报接口的详细说明从主文档拆分到单独文件,提高文档可维护性。 - 合并设备查询与认证记录查询操作 - 简化匿名用户创建流程 - 移除冗余的错误日志记录 - 将错误上报接口文档拆分到单独文件
1.8 KiB
1.8 KiB
报错日志收集(log_message)
项目规划
- 目标:新增
log_message表与采集/查询接口,用于 APP / PC / Web 客户端错误日志收集与分析。 - 范围:
- 创建 MySQL 表与迁移脚本(02105)。
- 新增客户端上报接口
POST /v1/common/log/message/report。 - 新增管理端查询接口
GET /v1/admin/log/message/error/list与GET /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.go、getErrorLogMessageDetailLogic.go。
- 上报逻辑:
- 类型:
internal/types/types.go新增请求/响应结构。
进度记录
- 2025-12-02:
- 完成表与索引创建迁移文件。
- 完成模型与服务注入。
- 完成公共上报接口与限流、去重逻辑;编译验证通过。
- 完成管理端列表与详情接口;编译验证通过。
- 待办:根据运营需求调整限流阈值与日志保留策略。
接口规范
- 上报:
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 条(可配置)。
- 隐私:避免采集敏感数据;服务端对大字段做长度限制与截断。