文档版本 v3.7-DRAFT 处于 草稿 状态。如需获取最新的稳定版文档,请参阅 v3.6。
日志规范
日志级别分类
etcd 使用 zap 库来记录分类为级别的应用程序输出日志。日志消息的级别遵循以下约定确定:
DebugLevel 日志通常数量较多,在生产环境中通常被禁用。
- 示例:
- 向远程对等节点发送普通消息
- 将日志条目写入磁盘
- 示例:
InfoLevel 是默认的日志优先级。
- 示例:
- 启动配置
- 开始进行快照
- 向集群中添加新节点
- 向认证子系统中添加新用户
- 示例:
WarnLevel 日志比 Info 更重要,但不需要人工逐一审查。
- 示例:
- 无法向远程对等节点发送 Raft 消息
- 在配置的选举超时时间内未收到心跳消息
- 示例:
ErrorLevel 日志属于高优先级。如果应用程序运行正常,则不应产生任何错误级别的日志。
- 示例:
- 无法为 WAL 分配磁盘空间
- 示例:
PanicLevel 在记录日志消息后会触发 panic。
- 示例:
- 编码 Raft 消息失败
- 示例:
FatalLevel 在记录日志消息后会调用 os.Exit(1)。
- 示例:
- 保存 Raft 快照失败
- 示例: