etcd log level 日志级别修改

为什么80%的码农都做不了架构师?>>>   hot3.png

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.Println(kaerr)
}

转载于:https://my.oschina.net/solate/blog/3032604

你可能感兴趣的:(etcd log level 日志级别修改)