mirror of
https://github.com/go-kratos/kratos.git
synced 2025-02-21 19:19:32 +02:00
feat(discovery): provide an option to disable discovery debug log (#1942)
* feat(discovery): provide an option to disable discovery resolver one debug-like log * styl: re-sort imports * styl: rename option function name and comment
This commit is contained in:
parent
d0b704b8f3
commit
fbf7855cf2
@ -8,6 +8,7 @@ import (
|
||||
|
||||
"github.com/go-kratos/kratos/v2/log"
|
||||
"github.com/go-kratos/kratos/v2/registry"
|
||||
|
||||
"google.golang.org/grpc/resolver"
|
||||
)
|
||||
|
||||
@ -37,20 +38,29 @@ func WithInsecure(insecure bool) Option {
|
||||
}
|
||||
}
|
||||
|
||||
// DisableDebugLog disables update instances log.
|
||||
func DisableDebugLog() Option {
|
||||
return func(b *builder) {
|
||||
b.debugLogDisabled = true
|
||||
}
|
||||
}
|
||||
|
||||
type builder struct {
|
||||
discoverer registry.Discovery
|
||||
logger log.Logger
|
||||
timeout time.Duration
|
||||
insecure bool
|
||||
discoverer registry.Discovery
|
||||
logger log.Logger
|
||||
timeout time.Duration
|
||||
insecure bool
|
||||
debugLogDisabled bool
|
||||
}
|
||||
|
||||
// NewBuilder creates a builder which is used to factory registry resolvers.
|
||||
func NewBuilder(d registry.Discovery, opts ...Option) resolver.Builder {
|
||||
b := &builder{
|
||||
discoverer: d,
|
||||
logger: log.GetLogger(),
|
||||
timeout: time.Second * 10,
|
||||
insecure: false,
|
||||
discoverer: d,
|
||||
logger: log.GetLogger(),
|
||||
timeout: time.Second * 10,
|
||||
insecure: false,
|
||||
debugLogDisabled: false,
|
||||
}
|
||||
for _, o := range opts {
|
||||
o(b)
|
||||
@ -79,12 +89,13 @@ func (b *builder) Build(target resolver.Target, cc resolver.ClientConn, opts res
|
||||
return nil, err
|
||||
}
|
||||
r := &discoveryResolver{
|
||||
w: w,
|
||||
cc: cc,
|
||||
ctx: ctx,
|
||||
cancel: cancel,
|
||||
log: log.NewHelper(b.logger),
|
||||
insecure: b.insecure,
|
||||
w: w,
|
||||
cc: cc,
|
||||
ctx: ctx,
|
||||
cancel: cancel,
|
||||
log: log.NewHelper(b.logger),
|
||||
insecure: b.insecure,
|
||||
debugLogDisabled: b.debugLogDisabled,
|
||||
}
|
||||
go r.watch()
|
||||
return r, nil
|
||||
|
@ -9,6 +9,7 @@ import (
|
||||
"github.com/go-kratos/kratos/v2/internal/endpoint"
|
||||
"github.com/go-kratos/kratos/v2/log"
|
||||
"github.com/go-kratos/kratos/v2/registry"
|
||||
|
||||
"google.golang.org/grpc/attributes"
|
||||
"google.golang.org/grpc/resolver"
|
||||
)
|
||||
@ -21,7 +22,8 @@ type discoveryResolver struct {
|
||||
ctx context.Context
|
||||
cancel context.CancelFunc
|
||||
|
||||
insecure bool
|
||||
insecure bool
|
||||
debugLogDisabled bool
|
||||
}
|
||||
|
||||
func (r *discoveryResolver) watch() {
|
||||
@ -77,8 +79,11 @@ func (r *discoveryResolver) update(ins []*registry.ServiceInstance) {
|
||||
if err != nil {
|
||||
r.log.Errorf("[resolver] failed to update state: %s", err)
|
||||
}
|
||||
b, _ := json.Marshal(ins)
|
||||
r.log.Infof("[resolver] update instances: %s", b)
|
||||
|
||||
if !r.debugLogDisabled {
|
||||
b, _ := json.Marshal(ins)
|
||||
r.log.Infof("[resolver] update instances: %s", b)
|
||||
}
|
||||
}
|
||||
|
||||
func (r *discoveryResolver) Close() {
|
||||
|
Loading…
x
Reference in New Issue
Block a user