1
0
Files
nex/openspec/changes/backend-code-lint/specs/structured-logging/spec.md

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` 类型