Files
huang b5147d1acb
All checks were successful
构建并部署到测试环境(无 SSH) / build-and-deploy (push) Successful in 7m34s
设备的部分改造
2026-03-10 10:34:08 +08:00

40 lines
1.4 KiB
Markdown
Raw Permalink 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.
# Gateway Request Logging
## Purpose
Gateway 请求日志记录,在每次 Gateway API 调用时按结果级别记录请求日志,便于问题排查和运维监控。
## ADDED Requirements
### Requirement: Gateway 请求日志
系统 SHALL 在每次 Gateway API 调用时记录请求日志,包含请求路径和请求体大小。
#### Scenario: 正常请求记录 Debug 日志
- **WHEN** 调用 `doRequest(ctx, "/flow-card/status", req)` 且请求成功
- **THEN** 记录 Debug 级别日志
- **AND** 日志包含字段:`path`(请求路径)、`duration`(耗时)
#### Scenario: Gateway 业务错误记录 Warn 日志
- **WHEN** Gateway 返回 `code != 200` 的业务错误
- **THEN** 记录 Warn 级别日志
- **AND** 日志包含字段:`path``duration``gateway_code`Gateway 状态码)、`gateway_msg`Gateway 错误信息)
#### Scenario: 网络错误记录 Error 日志
- **WHEN** HTTP 请求失败连接失败、超时、DNS 解析失败等)
- **THEN** 记录 Error 级别日志
- **AND** 日志包含字段:`path``duration``error`(错误信息)
### Requirement: Logger 依赖注入
系统 SHALL 通过构造函数将 `*zap.Logger` 注入到 `Client` 中。
#### Scenario: 创建带日志的客户端
- **WHEN** 调用 `gateway.NewClient(baseURL, appID, appSecret, logger)`
- **THEN** 客户端使用传入的 logger 记录日志
- **AND** 不使用全局 `zap.L()`