31 lines
973 B
Markdown
31 lines
973 B
Markdown
# Structured Logging — Delta
|
|
|
|
## MODIFIED Requirements
|
|
|
|
### Requirement: 字段标准化
|
|
|
|
系统 SHALL 使用标准化字段定义,并通过 lint 工具强制执行错误字段规范。
|
|
|
|
#### Scenario: 标准字段常量
|
|
|
|
- **WHEN** 记录日志字段
|
|
- **THEN** SHALL 使用 `pkg/logger/field.go` 中定义的常量
|
|
- **THEN** 字段名 SHALL 包括:`request_id`、`provider_id`、`model_name`、`method`、`path`、`status`、`latency`
|
|
|
|
#### Scenario: 错误字段统一
|
|
|
|
- **WHEN** 记录错误日志
|
|
- **THEN** SHALL 使用 `zap.Error(err)`
|
|
- **THEN** SHALL NOT 使用 `zap.String("error", err.Error())`
|
|
|
|
#### Scenario: lint 强化错误字段约束
|
|
|
|
- **WHEN** 存量代码中使用 `zap.String("error", err.Error())` 记录错误
|
|
- **THEN** SHALL 修改为 `zap.Error(err)`
|
|
|
|
#### Scenario: 字段构造函数
|
|
|
|
- **WHEN** 构造日志字段
|
|
- **THEN** SHALL 优先使用 `pkg/logger` 提供的辅助函数
|
|
- **THEN** 辅助函数 SHALL 返回 `zap.Field` 类型
|