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/oxtoacart/bpool v0.0.0-20190530202638-03653db5a59c
github.com/pkg/errors v0.8.1 github.com/pkg/errors v0.8.1
github.com/stretchr/testify v1.4.0 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/crypto v0.0.0-20191108234033-bd318be0434a
golang.org/x/net v0.0.0-20191109021931-daa7c04131f5 golang.org/x/net v0.0.0-20191109021931-daa7c04131f5
google.golang.org/grpc v1.25.1 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/registry"
"github.com/micro/go-micro/util/log" "github.com/micro/go-micro/util/log"
hash "github.com/mitchellh/hashstructure" hash "github.com/mitchellh/hashstructure"
"go.uber.org/zap"
) )
var ( var (
@ -73,6 +74,10 @@ func configure(e *etcdRegistry, opts ...registry.Option) error {
config.Username = u.Username config.Username = u.Username
config.Password = u.Password config.Password = u.Password
} }
cfg, ok := e.options.Context.Value(logConfigKey{}).(*zap.Config)
if ok && cfg != nil {
config.LogConfig = cfg
}
} }
var cAddrs []string var cAddrs []string

View File

@ -4,10 +4,13 @@ import (
"context" "context"
"github.com/micro/go-micro/registry" "github.com/micro/go-micro/registry"
"go.uber.org/zap"
) )
type authKey struct{} type authKey struct{}
type logConfigKey struct{}
type authCreds struct { type authCreds struct {
Username string Username string
Password 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}) 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)
}
}