name: error-logger description: “用于多服务系统的结构化JSON日志记录与关联ID追踪。适用于:实现日志记录、错误处理、调试故障或跨服务错误追踪。触发场景:添加日志、错误处理、调试故障、追踪错误。”
错误日志记录器
用于多服务系统的结构化JSON日志记录与关联ID追踪。
使用时机
- 实现日志基础设施
- 跨服务调试故障
- 使用关联ID追踪错误
- 为操作添加错误处理
- 审查日志模式
工作流程
步骤1:创建操作上下文
使用适当前缀(liq_、arb_、quo_、op_)启动操作。
步骤2:记录带上下文的日志
在所有相关日志条目中包含关联ID。
步骤3:传播关联ID
通过X-Correlation-ID头部跨服务传递。
日志格式
{
"timestamp": "2024-01-15T14:32:01.847Z",
"level": "ERROR",
"correlation_id": "liq_18d4f2a1_x7k9",
"service": "rust-hotpath",
"event_type": "TX_REVERT",
"message": "清算交易回滚",
"context": {}
}
关联ID
格式:{前缀}_{时间戳十六进制}_{随机字符串}
前缀:liq_、arb_、quo_、op_
使用示例
const ctx = log.startOperation('liq');
log.error(ctx, 'TX_REVERT', '失败', { tx_hash, gas_used });
// 通过HTTP传播
headers: { 'X-Correlation-ID': ctx.correlation_id }
日志级别
| 级别 | 用途 |
|---|---|
| ERROR | 操作失败 |
| WARN | 重试、可恢复错误 |
| INFO | 正常操作 |
| DEBUG | 计算过程 |