etcd log level 日誌級別修改
阿新 • • 發佈:2019-04-05
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 := DefaultLogConfig
if 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 forever
ch, kaerr := client.KeepAlive(context.TODO(), resp.ID)
if kaerr != nil {
fmt.Print