From 7d23199e95ece65161d615fa99680a6059049871 Mon Sep 17 00:00:00 2001 From: Yaroslav Skopets Date: Wed, 8 Jan 2020 12:14:50 +0100 Subject: [PATCH] refactoring: make `Logger` reusable by both primary ADS server and future MADS server --- pkg/core/xds/context.go | 19 +++---------------- pkg/util/xds/logger.go | 24 ++++++++++++++++++++++++ 2 files changed, 27 insertions(+), 16 deletions(-) create mode 100644 pkg/util/xds/logger.go diff --git a/pkg/core/xds/context.go b/pkg/core/xds/context.go index a42cbae98e3d..13a1017ece30 100644 --- a/pkg/core/xds/context.go +++ b/pkg/core/xds/context.go @@ -1,13 +1,13 @@ package xds import ( - "fmt" + "github.com/go-logr/logr" "github.com/Kong/kuma/pkg/core" + util_xds "github.com/Kong/kuma/pkg/util/xds" envoy_core "github.com/envoyproxy/go-control-plane/envoy/api/v2/core" envoy_cache "github.com/envoyproxy/go-control-plane/pkg/cache" envoy_log "github.com/envoyproxy/go-control-plane/pkg/log" - "github.com/go-logr/logr" ) type XdsContext interface { @@ -22,7 +22,7 @@ func NewXdsContext() XdsContext { func newXdsContext(name string, ads bool) XdsContext { log := core.Log.WithName(name) hasher := hasher{log} - logger := logger{log} + logger := util_xds.NewLogger(log) cache := envoy_cache.NewSnapshotCache(ads, hasher, logger) return &xdsContext{ NodeHash: hasher, @@ -64,16 +64,3 @@ func (h hasher) ID(node *envoy_core.Node) string { } return proxyId.String() } - -var _ envoy_log.Logger = &logger{} - -type logger struct { - log logr.Logger -} - -func (l logger) Infof(format string, args ...interface{}) { - l.log.V(1).Info(fmt.Sprintf(format, args...)) -} -func (l logger) Errorf(format string, args ...interface{}) { - l.log.Error(fmt.Errorf(format, args...), "") -} diff --git a/pkg/util/xds/logger.go b/pkg/util/xds/logger.go new file mode 100644 index 000000000000..75c4e5f5265f --- /dev/null +++ b/pkg/util/xds/logger.go @@ -0,0 +1,24 @@ +package xds + +import ( + "fmt" + + "github.com/go-logr/logr" + + envoy_log "github.com/envoyproxy/go-control-plane/pkg/log" +) + +func NewLogger(log logr.Logger) envoy_log.Logger { + return &logger{log: log} +} + +type logger struct { + log logr.Logger +} + +func (l logger) Infof(format string, args ...interface{}) { + l.log.V(1).Info(fmt.Sprintf(format, args...)) +} +func (l logger) Errorf(format string, args ...interface{}) { + l.log.Error(fmt.Errorf(format, args...), "") +}