From 4d5225755834f0733d7eef4616d488a34590edc8 Mon Sep 17 00:00:00 2001 From: Ralf Haferkamp Date: Mon, 12 May 2025 13:14:06 +0200 Subject: [PATCH] nats: Don't enable debug and trace logging by default Only enable trace and/or debug logging when the outer logger has the log level set accordingly. Even when the though the messages where not really logged the nats service wasted quite some cycles especially in the trace log related code path. Related issue: #716 --- services/nats/pkg/command/server.go | 2 +- services/nats/pkg/server/nats/nats.go | 8 ++++++-- 2 files changed, 7 insertions(+), 3 deletions(-) diff --git a/services/nats/pkg/command/server.go b/services/nats/pkg/command/server.go index 18252a9a12..14ac3e2ceb 100644 --- a/services/nats/pkg/command/server.go +++ b/services/nats/pkg/command/server.go @@ -78,7 +78,7 @@ func Server(cfg *config.Config) *cli.Command { } natsServer, err := nats.NewNATSServer( ctx, - logging.NewLogWrapper(logger), + logger, nats.Host(cfg.Nats.Host), nats.Port(cfg.Nats.Port), nats.ClusterID(cfg.Nats.ClusterID), diff --git a/services/nats/pkg/server/nats/nats.go b/services/nats/pkg/server/nats/nats.go index 984d01d744..a6550e1bc9 100644 --- a/services/nats/pkg/server/nats/nats.go +++ b/services/nats/pkg/server/nats/nats.go @@ -5,6 +5,9 @@ import ( "time" nserver "github.com/nats-io/nats-server/v2/server" + "github.com/opencloud-eu/opencloud/pkg/log" + "github.com/opencloud-eu/opencloud/services/nats/pkg/logging" + "github.com/rs/zerolog" ) var NATSListenAndServeLoopTimer = 1 * time.Second @@ -15,7 +18,7 @@ type NATSServer struct { } // NatsOption configures the new NATSServer instance -func NewNATSServer(ctx context.Context, logger nserver.Logger, opts ...NatsOption) (*NATSServer, error) { +func NewNATSServer(ctx context.Context, logger log.Logger, opts ...NatsOption) (*NATSServer, error) { natsOpts := &nserver.Options{} for _, o := range opts { @@ -32,7 +35,8 @@ func NewNATSServer(ctx context.Context, logger nserver.Logger, opts ...NatsOptio return nil, err } - server.SetLoggerV2(logger, true, true, false) + nLogger := logging.NewLogWrapper(logger) + server.SetLoggerV2(nLogger, logger.GetLevel() <= zerolog.DebugLevel, logger.GetLevel() <= zerolog.TraceLevel, false) return &NATSServer{ ctx: ctx,