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

43 lines
2.1 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# 报错日志收集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` 新增请求/响应结构。
- 安全:详细加解密逻辑见 [加解密说明文档.md](file:///Users/Apple/vpn/ppanel-server/doc/加解密说明文档.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 条(可配置)。
- 隐私:避免采集敏感数据;服务端对大字段做长度限制与截断。