etcd 日志级别修改
在使用etcd集群的时候在续约租期的时候使用 KeepAlive()
的时候,会出现大量下面的warn 日志,导致整个日志没办法进行查看,所以需要自己手动去设置日志级别,将这个错误忽略掉。
l.lg.Warn("lease keepalive response queue is full; dropping response send", zap.Int("queue-size", len(ch)), zap.Int("queue-capacity", cap(ch)),)
源码默认使用的是DefaultLogConfig
, 所以只需要在初始化客户端的时候修改这个配置就可以了
lcfg := DefaultLogConfigif cfg.LogConfig != nil { lcfg = *cfg.LogConfig}
修改方式只需要将默认配置考过来修改Level为 zap.ErrorLevel
client, err := clientv3.New(clientv3.Config{client, err := clientv3.New(clientv3.Config{ Endpoints: []string{"127.0.0.1:2379"}, DialTimeout: 5 * time.Second, LogConfig: &zap.Config{ Level: zap.NewAtomicLevelAt(zap.ErrorLevel), Development: false, Sampling: &zap.SamplingConfig{ Initial: 100, Thereafter: 100, }, Encoding: "json", EncoderConfig: zap.NewProductionEncoderConfig(), // Use "/dev/null" to discard all OutputPaths: []string{"stderr"}, ErrorOutputPaths: []string{"stderr"}, },})
使用租约代码
resp, err := client.Grant(context.TODO(), 5)if err != nil { fmt.Println(err)}// the key 'foo' will be kept foreverch, kaerr := client.KeepAlive(context.TODO(), resp.ID)if kaerr != nil { fmt.Println(kaerr)}