From 8211f0f8044ef60f59cb2fe88975a14737243194 Mon Sep 17 00:00:00 2001 From: Artem Glazychev Date: Sat, 23 Jan 2021 01:20:11 +0700 Subject: [PATCH] Update to new logger usage Signed-off-by: Artem Glazychev --- go.mod | 2 +- go.sum | 4 +-- internal/imports/imports.go | 62 +++++++++++++++++++----------------- internal/manager/manager.go | 42 +++++++++++++----------- main.go | 22 ++++++++----- test/client_endpoint_test.go | 6 ++-- test/mock/registry/server.go | 6 ++-- test/suite_test.go | 6 ++-- test/test_utils.go | 6 ++-- 9 files changed, 87 insertions(+), 69 deletions(-) diff --git a/go.mod b/go.mod index 65dd3270..0d39810b 100644 --- a/go.mod +++ b/go.mod @@ -8,7 +8,7 @@ require ( github.com/edwarnicke/serialize v1.0.7 github.com/kelseyhightower/envconfig v1.4.0 github.com/networkservicemesh/api v0.0.0-20210112152104-45029fb10e27 - github.com/networkservicemesh/sdk v0.0.0-20210120064752-943735566550 + github.com/networkservicemesh/sdk v0.0.0-20210122073256-a82c641be287 github.com/opentracing/opentracing-go v1.2.0 github.com/sirupsen/logrus v1.7.0 github.com/spiffe/go-spiffe/v2 v2.0.0-beta.2 diff --git a/go.sum b/go.sum index b94a9e08..17e3a71e 100644 --- a/go.sum +++ b/go.sum @@ -306,8 +306,8 @@ github.com/nats-io/stan.go v0.6.0/go.mod h1:eIcD5bi3pqbHT/xIIvXMwvzXYElgouBvaVRf github.com/nbutton23/zxcvbn-go v0.0.0-20180912185939-ae427f1e4c1d/go.mod h1:o96djdrsSGy3AWPyBgZMAGfxZNfgntdJG+11KU4QvbU= github.com/networkservicemesh/api v0.0.0-20210112152104-45029fb10e27 h1:J0UPj3sYfEvXwMHyAOiQ++NU7a3cZGZST1s1ftyC0uQ= github.com/networkservicemesh/api v0.0.0-20210112152104-45029fb10e27/go.mod h1:qvxdY1Zt4QTtiG+uH1XmjpegeHjlt5Jj4A8iK55iJPI= -github.com/networkservicemesh/sdk v0.0.0-20210120064752-943735566550 h1:2dfh+H5pqTJKcAodLk1wi5+fhu1y4AxoobPVGmgR0yM= -github.com/networkservicemesh/sdk v0.0.0-20210120064752-943735566550/go.mod h1:LV9NIA44LDUs0moEnrfeeRKQPA3Qdu3JiBhSwzEbXSM= +github.com/networkservicemesh/sdk v0.0.0-20210122073256-a82c641be287 h1:IWcNsCwTHgPEDh4J6P760Dw8x9bOzjph7AXvdH9cz5w= +github.com/networkservicemesh/sdk v0.0.0-20210122073256-a82c641be287/go.mod h1:LV9NIA44LDUs0moEnrfeeRKQPA3Qdu3JiBhSwzEbXSM= github.com/niemeyer/pretty v0.0.0-20200227124842-a10e7caefd8e h1:fD57ERR4JtEqsWbfPhv4DMiApHyliiK5xCTNVSPiaAs= github.com/niemeyer/pretty v0.0.0-20200227124842-a10e7caefd8e/go.mod h1:zD1mROLANZcx1PVRCS0qkT7pwLkGfwJo4zjcN/Tysno= github.com/nishanths/exhaustive v0.0.0-20200811152831-6cf413ae40e0/go.mod h1:wBEpHwM2OdmeNpdCvRPUlkEbBuaFmcK4Wv8Q7FuGW3c= diff --git a/internal/imports/imports.go b/internal/imports/imports.go index 1221ff1a..85d6d9da 100644 --- a/internal/imports/imports.go +++ b/internal/imports/imports.go @@ -5,40 +5,14 @@ import ( _ "context" _ "errors" _ "fmt" - _ "io/ioutil" - _ "net" - _ "net/url" - _ "os" - _ "path" - _ "path/filepath" - _ "strings" - _ "sync" - _ "testing" - _ "time" - _ "github.com/antonfisher/nested-logrus-formatter" + _ "github.com/edwarnicke/grpcfd" _ "github.com/edwarnicke/serialize" _ "github.com/kelseyhightower/envconfig" - _ "github.com/opentracing/opentracing-go" - _ "github.com/sirupsen/logrus" - _ "github.com/spiffe/go-spiffe/v2/spiffetls/tlsconfig" - _ "github.com/spiffe/go-spiffe/v2/svid/x509svid" - _ "github.com/spiffe/go-spiffe/v2/workloadapi" - _ "github.com/stretchr/testify/assert" - _ "github.com/stretchr/testify/require" - _ "github.com/stretchr/testify/suite" - _ "google.golang.org/grpc" - _ "google.golang.org/grpc/credentials" - _ "google.golang.org/grpc/grpclog" - _ "google.golang.org/grpc/health/grpc_health_v1" - _ "google.golang.org/grpc/metadata" - _ "google.golang.org/grpc/peer" - _ "github.com/networkservicemesh/api/pkg/api/networkservice" _ "github.com/networkservicemesh/api/pkg/api/networkservice/mechanisms/cls" _ "github.com/networkservicemesh/api/pkg/api/networkservice/mechanisms/kernel" _ "github.com/networkservicemesh/api/pkg/api/registry" - _ "github.com/networkservicemesh/sdk/pkg/networkservice/chains/client" _ "github.com/networkservicemesh/sdk/pkg/networkservice/chains/endpoint" _ "github.com/networkservicemesh/sdk/pkg/networkservice/chains/nsmgr" @@ -49,16 +23,46 @@ import ( _ "github.com/networkservicemesh/sdk/pkg/networkservice/core/adapters" _ "github.com/networkservicemesh/sdk/pkg/registry/common/interpose" _ "github.com/networkservicemesh/sdk/pkg/registry/common/memory" + _ "github.com/networkservicemesh/sdk/pkg/registry/common/sendfd" + _ "github.com/networkservicemesh/sdk/pkg/registry/common/setid" _ "github.com/networkservicemesh/sdk/pkg/registry/core/chain" + _ "github.com/networkservicemesh/sdk/pkg/registry/core/next" _ "github.com/networkservicemesh/sdk/pkg/tools/addressof" _ "github.com/networkservicemesh/sdk/pkg/tools/callback" _ "github.com/networkservicemesh/sdk/pkg/tools/debug" _ "github.com/networkservicemesh/sdk/pkg/tools/grpcutils" _ "github.com/networkservicemesh/sdk/pkg/tools/jaeger" - _ "github.com/networkservicemesh/sdk/pkg/tools/log" + _ "github.com/networkservicemesh/sdk/pkg/tools/logger" + _ "github.com/networkservicemesh/sdk/pkg/tools/logger/logruslogger" + _ "github.com/networkservicemesh/sdk/pkg/tools/logger/tracelogger" + _ "github.com/networkservicemesh/sdk/pkg/tools/opentracing" _ "github.com/networkservicemesh/sdk/pkg/tools/signalctx" - _ "github.com/networkservicemesh/sdk/pkg/tools/spanhelper" _ "github.com/networkservicemesh/sdk/pkg/tools/spiffejwt" _ "github.com/networkservicemesh/sdk/pkg/tools/spire" _ "github.com/networkservicemesh/sdk/pkg/tools/token" + _ "github.com/opentracing/opentracing-go" + _ "github.com/sirupsen/logrus" + _ "github.com/spiffe/go-spiffe/v2/spiffetls/tlsconfig" + _ "github.com/spiffe/go-spiffe/v2/svid/x509svid" + _ "github.com/spiffe/go-spiffe/v2/workloadapi" + _ "github.com/stretchr/testify/assert" + _ "github.com/stretchr/testify/require" + _ "github.com/stretchr/testify/suite" + _ "google.golang.org/grpc" + _ "google.golang.org/grpc/credentials" + _ "google.golang.org/grpc/grpclog" + _ "google.golang.org/grpc/health/grpc_health_v1" + _ "google.golang.org/grpc/metadata" + _ "google.golang.org/grpc/peer" + _ "io/ioutil" + _ "net" + _ "net/url" + _ "os" + _ "path" + _ "path/filepath" + _ "runtime" + _ "strings" + _ "sync" + _ "testing" + _ "time" ) diff --git a/internal/manager/manager.go b/internal/manager/manager.go index 011d4b44..a4b0e3c4 100644 --- a/internal/manager/manager.go +++ b/internal/manager/manager.go @@ -1,4 +1,4 @@ -// Copyright (c) 2020 Doc.ai and/or its affiliates. +// Copyright (c) 2020-2021 Doc.ai and/or its affiliates. // // SPDX-License-Identifier: Apache-2.0 // @@ -27,6 +27,8 @@ import ( "sync" "time" + "github.com/networkservicemesh/sdk/pkg/tools/logger/tracelogger" + "github.com/networkservicemesh/sdk/pkg/networkservice/chains/nsmgr" "github.com/networkservicemesh/cmd-nsmgr/internal/authz" @@ -44,8 +46,9 @@ import ( "github.com/networkservicemesh/api/pkg/api/registry" - "github.com/networkservicemesh/sdk/pkg/tools/log" - "github.com/networkservicemesh/sdk/pkg/tools/spanhelper" + "github.com/networkservicemesh/sdk/pkg/tools/logger" + "github.com/networkservicemesh/sdk/pkg/tools/logger/logruslogger" + "github.com/networkservicemesh/sdk/pkg/tools/opentracing" "github.com/networkservicemesh/sdk/pkg/tools/spiffejwt" "github.com/networkservicemesh/cmd-nsmgr/internal/config" @@ -58,7 +61,6 @@ const ( type manager struct { ctx context.Context configuration *config.Config - span spanhelper.SpanHelper cancelFunc context.CancelFunc registryCC *grpc.ClientConn mgr nsmgr.Nsmgr @@ -94,20 +96,24 @@ func RunNsmgr(ctx context.Context, configuration *config.Config) error { m := &manager{ configuration: configuration, - span: spanhelper.FromContext(ctx, "start"), } + logger.EnableTracing(true) + traceCtx, finish := tracelogger.WithLog(ctx, "start") + defer finish() // Context to use for all things started in main m.ctx, m.cancelFunc = context.WithCancel(ctx) - m.ctx = log.WithField(m.ctx, "cmd", "Nsmgr") + m.ctx, _ = logruslogger.New( + logger.WithFields(ctx, map[string]interface{}{"cmd": "Nsmgr"}), + ) if err := m.initSecurity(); err != nil { - m.span.LogErrorf("failed to create new spiffe TLS Peer %v", err) + logger.Log(traceCtx).Errorf("failed to create new spiffe TLS Peer %v", err) return err } if err := m.connectRegistry(); err != nil { - m.span.LogErrorf("failed to connect registry %v", err) + logger.Log(traceCtx).Errorf("failed to connect registry %v", err) return err } @@ -126,7 +132,7 @@ func RunNsmgr(ctx context.Context, configuration *config.Config) error { } clientOptions := append( - spanhelper.WithTracingDial(), + opentracing.WithTracingDial(), callbackServer.WithCallbackDialer(), // Default client security call options grpc.WithTransportCredentials( @@ -148,7 +154,7 @@ func RunNsmgr(ctx context.Context, configuration *config.Config) error { createListenFolders(configuration) serverOptions := append( - spanhelper.WithTracing(), + opentracing.WithTracing(), grpc.Creds( GrpcfdTransportCredentials( credentials.NewTLS(tlsconfig.MTLSServerConfig(m.source, m.source, tlsconfig.AuthorizeAny())), @@ -164,11 +170,11 @@ func RunNsmgr(ctx context.Context, configuration *config.Config) error { // Create GRPC server m.startServers(m.server) - log.Entry(m.ctx).Infof("Startup completed in %v", time.Since(starttime)) + logger.Log(m.ctx).Infof("Startup completed in %v", time.Since(starttime)) starttime = time.Now() <-m.ctx.Done() - log.Entry(m.ctx).Infof("Exit requested. Uptime: %v", time.Since(starttime)) + logger.Log(m.ctx).Infof("Exit requested. Uptime: %v", time.Since(starttime)) // If we here we need to call Stop m.Stop() return nil @@ -190,7 +196,7 @@ func waitErrChan(ctx context.Context, errChan <-chan error, m *manager) { case err := <-errChan: // We need to cal cancel global context, since it could be multiple context of this kind m.cancelFunc() - log.Entry(ctx).Warnf("failed to serve: %v", err) + logger.Log(ctx).Warnf("failed to serve: %v", err) } } @@ -200,18 +206,18 @@ func (m *manager) connectRegistry() (err error) { m.registryCC = nil return nil } - regSpan := spanhelper.FromContext(m.ctx, "dial-registry") - defer regSpan.Finish() + traceCtx, finish := tracelogger.WithLog(m.ctx, "dial-registry") + defer finish() creds := grpc.WithTransportCredentials(GrpcfdTransportCredentials(credentials.NewTLS(tlsconfig.MTLSClientConfig(m.source, m.source, tlsconfig.AuthorizeAny())))) - ctx, cancel := context.WithTimeout(regSpan.Context(), 5*time.Second) + ctx, cancel := context.WithTimeout(traceCtx, 5*time.Second) defer cancel() logrus.Infof("NSM: Connecting to NSE registry %v", m.configuration.RegistryURL.String()) - options := append(spanhelper.WithTracingDial(), creds, grpc.WithDefaultCallOptions(grpc.WaitForReady(true))) + options := append(opentracing.WithTracingDial(), creds, grpc.WithDefaultCallOptions(grpc.WaitForReady(true))) m.registryCC, err = grpc.DialContext(ctx, grpcutils.URLToTarget(&m.configuration.RegistryURL), options...) if err != nil { - regSpan.LogErrorf("failed to dial NSE NsmgrRegistry: %v", err) + logger.Log(traceCtx).Errorf("failed to dial NSE NsmgrRegistry: %v", err) } return } diff --git a/main.go b/main.go index f373c63f..e7a536cc 100644 --- a/main.go +++ b/main.go @@ -1,5 +1,7 @@ // Copyright (c) 2020 Cisco and/or its affiliates. // +// Copyright (c) 2021 Doc.ai and/or its affiliates. +// // SPDX-License-Identifier: Apache-2.0 // // Licensed under the Apache License, Version 2.0 (the "License"); @@ -26,9 +28,10 @@ import ( "github.com/networkservicemesh/sdk/pkg/tools/debug" "github.com/networkservicemesh/sdk/pkg/tools/jaeger" - "github.com/networkservicemesh/sdk/pkg/tools/log" + "github.com/networkservicemesh/sdk/pkg/tools/logger" + "github.com/networkservicemesh/sdk/pkg/tools/logger/logruslogger" + "github.com/networkservicemesh/sdk/pkg/tools/logger/tracelogger" "github.com/networkservicemesh/sdk/pkg/tools/signalctx" - "github.com/networkservicemesh/sdk/pkg/tools/spanhelper" "github.com/networkservicemesh/cmd-nsmgr/internal/config" "github.com/networkservicemesh/cmd-nsmgr/internal/manager" @@ -37,24 +40,27 @@ import ( func main() { // Setup conmomod text to catch signals // Setup logging + ctx := signalctx.WithSignals(context.Background()) logrus.SetFormatter(&nested.Formatter{}) - logrus.SetLevel(logrus.TraceLevel) - ctx := log.WithField(signalctx.WithSignals(context.Background()), "cmd", os.Args[:1]) + ctx, _ = logruslogger.New( + logger.WithFields(ctx, map[string]interface{}{"cmd": os.Args[:1]}), + ) // ******************************************************************************** // Debug self if necessary // ******************************************************************************** if err := debug.Self(); err != nil { - log.Entry(ctx).Infof("%s", err) + logger.Log(ctx).Infof("%s", err) } // ******************************************************************************** // Configure open tracing // ******************************************************************************** // Enable Jaeger + logger.EnableTracing(true) jaegerCloser := jaeger.InitJaeger("nsmgr") defer func() { _ = jaegerCloser.Close() }() - cmdSpan := spanhelper.FromContext(ctx, "nsmgr") + traceCtx, finish := tracelogger.WithLog(ctx, "nsmgr") // Get cfg from environment cfg := &config.Config{} @@ -68,9 +74,9 @@ func main() { logrus.Infof("Using configuration: %v", cfg) // Startup is finished - cmdSpan.Finish() + finish() - err := manager.RunNsmgr(cmdSpan.Context(), cfg) + err := manager.RunNsmgr(traceCtx, cfg) if err != nil { logrus.Fatalf("error executing rootCmd: %v", err) } diff --git a/test/client_endpoint_test.go b/test/client_endpoint_test.go index 51b726ec..bfa44e42 100644 --- a/test/client_endpoint_test.go +++ b/test/client_endpoint_test.go @@ -1,4 +1,4 @@ -// Copyright (c) 2020 Doc.ai and/or its affiliates. +// Copyright (c) 2020-2021 Doc.ai and/or its affiliates. // // SPDX-License-Identifier: Apache-2.0 // @@ -29,7 +29,7 @@ import ( "github.com/networkservicemesh/sdk/pkg/registry/common/sendfd" "github.com/networkservicemesh/sdk/pkg/registry/core/next" - "github.com/networkservicemesh/sdk/pkg/tools/log" + "github.com/networkservicemesh/sdk/pkg/tools/logger" "github.com/sirupsen/logrus" @@ -107,7 +107,7 @@ func (f *NsmgrTestSuite) TestNSmgrEndpointCallback() { ctx, cancel := context.WithTimeout(context.Background(), 150*time.Second) defer cancel() - ctx = log.WithField(ctx, "chain", "Client") + ctx = logger.WithFields(ctx, map[string]interface{}{"chain": "Client"}) nsmClient := setup.newClient(ctx) diff --git a/test/mock/registry/server.go b/test/mock/registry/server.go index 181a9b4d..63127b12 100644 --- a/test/mock/registry/server.go +++ b/test/mock/registry/server.go @@ -1,4 +1,4 @@ -// Copyright (c) 2020 Doc.ai and/or its affiliates. +// Copyright (c) 2020-2021 Doc.ai and/or its affiliates. // // SPDX-License-Identifier: Apache-2.0 // @@ -23,7 +23,7 @@ import ( "os" "github.com/networkservicemesh/sdk/pkg/registry/common/setid" - "github.com/networkservicemesh/sdk/pkg/tools/log" + "github.com/networkservicemesh/sdk/pkg/tools/logger" "github.com/edwarnicke/serialize" @@ -96,7 +96,7 @@ func (s *serverImpl) Start(options ...grpc.ServerOption) error { } s.ctx, s.cancel = context.WithCancel(context.Background()) - s.ctx = log.WithField(s.ctx, "cmd", "NsmgrMockRegistry") + s.ctx = logger.WithFields(s.ctx, map[string]interface{}{"cmd": "NsmgrMockRegistry"}) s.errChan = grpcutils.ListenAndServe(s.ctx, s.listenOn, s.server) diff --git a/test/suite_test.go b/test/suite_test.go index a5374476..29ab4a12 100644 --- a/test/suite_test.go +++ b/test/suite_test.go @@ -1,4 +1,4 @@ -// Copyright (c) 2020 Doc.ai and/or its affiliates. +// Copyright (c) 2020-2021 Doc.ai and/or its affiliates. // // SPDX-License-Identifier: Apache-2.0 // @@ -24,6 +24,8 @@ import ( "path/filepath" "testing" + "github.com/networkservicemesh/sdk/pkg/tools/logger" + nested "github.com/antonfisher/nested-logrus-formatter" "github.com/sirupsen/logrus" "github.com/spiffe/go-spiffe/v2/workloadapi" @@ -43,7 +45,7 @@ type NsmgrTestSuite struct { func (f *NsmgrTestSuite) SetupSuite() { logrus.SetFormatter(&nested.Formatter{}) - logrus.SetLevel(logrus.TraceLevel) + logger.EnableTracing(true) f.ctx, f.cancel = context.WithCancel(context.Background()) // Run spire diff --git a/test/test_utils.go b/test/test_utils.go index 70bd0806..d80b46b6 100644 --- a/test/test_utils.go +++ b/test/test_utils.go @@ -1,4 +1,4 @@ -// Copyright (c) 2020 Doc.ai and/or its affiliates. +// Copyright (c) 2020-2021 Doc.ai and/or its affiliates. // // SPDX-License-Identifier: Apache-2.0 // @@ -26,7 +26,7 @@ import ( "testing" "time" - "github.com/networkservicemesh/sdk/pkg/tools/log" + "github.com/networkservicemesh/sdk/pkg/tools/logger" "github.com/networkservicemesh/sdk/pkg/tools/grpcutils" @@ -71,7 +71,7 @@ type testSetup struct { func (s *testSetup) init() { s.ctx, s.cancel = context.WithCancel(context.Background()) - s.ctx = log.WithField(s.ctx, "cmd", "NsmgrTestSetup") + s.ctx = logger.WithFields(s.ctx, map[string]interface{}{"cmd": "NsmgrTestSetup"}) s.baseDir = TempFolder()