From a365513177205105ee550cdb7b8a0c1fe64e56cc Mon Sep 17 00:00:00 2001 From: Vasiliy Tolstov <v.tolstov@unistack.org> Date: Fri, 21 Feb 2025 18:12:17 +0300 Subject: [PATCH] logger: fixup WithAddFields Signed-off-by: Vasiliy Tolstov <v.tolstov@unistack.org> --- logger/options.go | 5 +++++ logger/slog/slog_test.go | 2 +- 2 files changed, 6 insertions(+), 1 deletion(-) diff --git a/logger/options.go b/logger/options.go index 12cff7e4..475bad55 100644 --- a/logger/options.go +++ b/logger/options.go @@ -2,6 +2,7 @@ package logger import ( "context" + "fmt" "io" "log/slog" "os" @@ -99,7 +100,11 @@ func WithAddFields(fields ...interface{}) Option { iv, iok := o.Fields[i].(string) jv, jok := fields[j].(string) if iok && jok && iv == jv { + fmt.Printf("AAAA o.Fields:%v old:%v new:%v\n", o.Fields[i], o.Fields[i+1], fields[j+1]) + o.Fields[i+1] = fields[j+1] + fmt.Printf("BBBB o.Fields:%v old:%v new:%v\n", o.Fields[i], o.Fields[i+1], fields[j+1]) fields = slices.Delete(fields, j, j+2) + } } } diff --git a/logger/slog/slog_test.go b/logger/slog/slog_test.go index 1dae9109..031cc9fe 100644 --- a/logger/slog/slog_test.go +++ b/logger/slog/slog_test.go @@ -124,7 +124,7 @@ func TestWithDedupKeysWithAddFields(t *testing.T) { l.Info(ctx, "msg3") - if !bytes.Contains(buf.Bytes(), []byte(`msg=msg3 key1=val1 key2=val2`)) { + if !bytes.Contains(buf.Bytes(), []byte(`msg=msg3 key1=val4 key2=val3`)) { t.Fatalf("logger error not works, buf contains: %s", buf.Bytes()) } }