From dbcf6bb74a9579512756f0e1ce40ac9748892d47 Mon Sep 17 00:00:00 2001 From: Vasiliy Tolstov Date: Tue, 17 Oct 2023 01:05:55 +0300 Subject: [PATCH] logger: use key names from opts (#271) Reviewed-on: https://git.unistack.org/unistack-org/micro/pulls/271 --- logger/slog.go | 15 +++++++++------ 1 file changed, 9 insertions(+), 6 deletions(-) diff --git a/logger/slog.go b/logger/slog.go index 8174a9e5..b0c87711 100644 --- a/logger/slog.go +++ b/logger/slog.go @@ -20,17 +20,20 @@ var ( fatalValue = slog.StringValue("fatal") ) -var renameAttr = func(_ []string, a slog.Attr) slog.Attr { +func (s *slogLogger) renameAttr(_ []string, a slog.Attr) slog.Attr { switch a.Key { case slog.SourceKey: source := a.Value.Any().(*slog.Source) a.Value = slog.StringValue(source.File + ":" + strconv.Itoa(source.Line)) - a.Key = "caller" + a.Key = s.opts.SourceKey case slog.TimeKey: - a.Key = "timestamp" + a.Key = s.opts.TimeKey + case slog.MessageKey: + a.Key = s.opts.MessageKey case slog.LevelKey: level := a.Value.Any().(slog.Level) lvl := slogToLoggerLevel(level) + a.Key = s.opts.LevelKey switch { case lvl < DebugLevel: a.Value = traceValue @@ -76,7 +79,7 @@ func (s *slogLogger) Clone(opts ...options.Option) Logger { l.leveler = new(slog.LevelVar) handleOpt := &slog.HandlerOptions{ - ReplaceAttr: renameAttr, + ReplaceAttr: s.renameAttr, Level: l.leveler, AddSource: true, } @@ -105,7 +108,7 @@ func (s *slogLogger) Attrs(attrs ...interface{}) Logger { nl.leveler.Set(s.leveler.Level()) handleOpt := &slog.HandlerOptions{ - ReplaceAttr: renameAttr, + ReplaceAttr: nl.renameAttr, Level: s.leveler, AddSource: true, } @@ -132,7 +135,7 @@ func (s *slogLogger) Init(opts ...options.Option) error { s.leveler = new(slog.LevelVar) handleOpt := &slog.HandlerOptions{ - ReplaceAttr: renameAttr, + ReplaceAttr: s.renameAttr, Level: s.leveler, AddSource: true, }