etcd can set log config

default log level is info, which will log o log of unused logs
This commit is contained in:
johnson 2019-12-13 11:22:05 +08:00
parent 885ba8f905
commit 11e42aac69
3 changed files with 19 additions and 1 deletions

2
go.mod
View File

@ -38,7 +38,7 @@ require (
github.com/oxtoacart/bpool v0.0.0-20190530202638-03653db5a59c
github.com/pkg/errors v0.8.1
github.com/stretchr/testify v1.4.0
go.uber.org/zap v1.12.0 // indirect
go.uber.org/zap v1.12.0
golang.org/x/crypto v0.0.0-20191108234033-bd318be0434a
golang.org/x/net v0.0.0-20191109021931-daa7c04131f5
google.golang.org/grpc v1.25.1

View File

@ -18,6 +18,7 @@ import (
"github.com/micro/go-micro/registry"
"github.com/micro/go-micro/util/log"
hash "github.com/mitchellh/hashstructure"
"go.uber.org/zap"
)
var (
@ -73,6 +74,10 @@ func configure(e *etcdRegistry, opts ...registry.Option) error {
config.Username = u.Username
config.Password = u.Password
}
cfg, ok := e.options.Context.Value(logConfigKey{}).(*zap.Config)
if ok && cfg != nil {
config.LogConfig = cfg
}
}
var cAddrs []string

View File

@ -4,10 +4,13 @@ import (
"context"
"github.com/micro/go-micro/registry"
"go.uber.org/zap"
)
type authKey struct{}
type logConfigKey struct{}
type authCreds struct {
Username string
Password string
@ -22,3 +25,13 @@ func Auth(username, password string) registry.Option {
o.Context = context.WithValue(o.Context, authKey{}, &authCreds{Username: username, Password: password})
}
}
// LogConfig allows you to set etcd log config
func LogConfig(config *zap.Config) registry.Option {
return func(o *registry.Options) {
if o.Context == nil {
o.Context = context.Background()
}
o.Context = context.WithValue(o.Context, authKey{}, config)
}
}