日志记录约定
日志级别类别
etcd 使用 zap 库记录应用程序输出,输出按 级别 进行分类。日志消息的级别依据以下约定确定:
DebugLevel 日志通常非常庞大,通常在生产环境中禁用。
- 示例:
- 向远程对等成员发送一条普通消息
- 将日志条目写入磁盘
- 示例:
InfoLevel 为默认的日志优先级。
- 示例:
- 启动配置
- 开始创建快照
- 向集群中添加新节点
- 向认证子系统中添加新用户
- 示例:
警告级别日志比信息级别日志更为重要,但无需逐条人工审查。
- 示例:
- 无法向远程对等成员发送 Raft 消息
- 在配置的选举超时时间内未收到心跳消息
- 示例:
ErrorLevel 日志为高优先级。若应用程序运行正常,不应产生任何 ErrorLevel 日志。
- 示例:
- WAL 无法分配磁盘空间
- 示例:
PanicLevel 会记录一条消息,然后触发 panic。
- 示例:
- Raft 消息编码失败
- 示例:
FatalLevel 会记录一条消息,然后调用 os.Exit(1)。
- 示例:
- Raft 快照保存失败
- 示例: