From 82f9ea3e33136415c59b7a8a7a37fc16f05bbd5e Mon Sep 17 00:00:00 2001 From: Vadim Alekseev Date: Wed, 18 Oct 2023 13:11:14 +0300 Subject: [PATCH] Setup sarama logger (#518) --- cmd/file.d/file.d.go | 2 +- logger/logger.go | 50 +++++++++++++++++++++++++------------------- 2 files changed, 30 insertions(+), 22 deletions(-) diff --git a/cmd/file.d/file.d.go b/cmd/file.d/file.d.go index 690c7fd68..f22e24ae0 100644 --- a/cmd/file.d/file.d.go +++ b/cmd/file.d/file.d.go @@ -72,7 +72,7 @@ func main() { kingpin.Version(buildinfo.Version) kingpin.Parse() - logger.Infof("Hi! I'm file.d version=%s %s", buildinfo.Version) + logger.Infof("Hi! I'm file.d version=%s", buildinfo.Version) setRuntimeSettings() insaneJSON.DisableBeautifulErrors = true diff --git a/logger/logger.go b/logger/logger.go index e40ff7875..f11d437b2 100644 --- a/logger/logger.go +++ b/logger/logger.go @@ -5,6 +5,7 @@ import ( "strings" "time" + "github.com/Shopify/sarama" "go.uber.org/zap" "go.uber.org/zap/zapcore" ) @@ -33,27 +34,34 @@ func init() { Level = zap.NewAtomicLevelAt(level) - Instance = zap.New( - zapcore.NewCore( - zapcore.NewJSONEncoder(zapcore.EncoderConfig{ - TimeKey: "ts", - LevelKey: "level", - NameKey: "logger", - CallerKey: "caller", - MessageKey: "message", - StacktraceKey: "stacktrace", - LineEnding: zapcore.DefaultLineEnding, - EncodeLevel: zapcore.LowercaseLevelEncoder, - EncodeTime: func(time time.Time, encoder zapcore.PrimitiveArrayEncoder) { - zapcore.RFC3339NanoTimeEncoder(time.UTC(), encoder) - }, - EncodeDuration: zapcore.StringDurationEncoder, - EncodeCaller: zapcore.ShortCallerEncoder, - }), - zapcore.AddSync(os.Stderr), - Level, - ), - ).Sugar().Named("fd") + config := zapcore.EncoderConfig{ + TimeKey: "ts", + LevelKey: "level", + NameKey: "logger", + CallerKey: "caller", + MessageKey: "message", + StacktraceKey: "stacktrace", + LineEnding: zapcore.DefaultLineEnding, + EncodeLevel: zapcore.LowercaseLevelEncoder, + EncodeTime: func(time time.Time, encoder zapcore.PrimitiveArrayEncoder) { + zapcore.RFC3339NanoTimeEncoder(time.UTC(), encoder) + }, + EncodeDuration: zapcore.StringDurationEncoder, + EncodeCaller: zapcore.ShortCallerEncoder, + } + + core := zapcore.NewCore(zapcore.NewJSONEncoder(config), zapcore.AddSync(os.Stderr), Level) + Instance = zap.New(core). + Sugar(). + Named("fd") + + saramaConfig := config + // omit level key for sarama logger + saramaConfig.LevelKey = zapcore.OmitKey + saramaCore := zapcore.NewCore(zapcore.NewJSONEncoder(saramaConfig), zapcore.AddSync(os.Stderr), Level) + saramaLogger := zap.New(saramaCore).Named("sarama") + sarama.Logger, _ = zap.NewStdLogAt(saramaLogger, zapcore.InfoLevel) + sarama.DebugLogger, _ = zap.NewStdLogAt(saramaLogger, zapcore.DebugLevel) Instance.Infof("Logger initialized with level: %s", level) }