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