Skip to content

Commit

Permalink
log: make Fields type a generic map[string]any
Browse files Browse the repository at this point in the history
Decouple it from logrus, but with the same type.

Signed-off-by: Sebastiaan van Stijn <github@gone.nl>
(cherry picked from commit 238da2c)
Signed-off-by: Sebastiaan van Stijn <github@gone.nl>
  • Loading branch information
thaJeztah committed Sep 8, 2023
1 parent bace17e commit 96fb655
Show file tree
Hide file tree
Showing 2 changed files with 27 additions and 1 deletion.
2 changes: 1 addition & 1 deletion log/context.go
Original file line number Diff line number Diff line change
Expand Up @@ -29,7 +29,7 @@ var L = logrus.NewEntry(logrus.StandardLogger())
type loggerKey struct{}

// Fields type to pass to "WithFields".
type Fields = logrus.Fields
type Fields = map[string]any

// Entry is a logging entry. It contains all the fields passed with
// [Entry.WithFields]. It's finally logged when Trace, Debug, Info, Warn,
Expand Down
26 changes: 26 additions & 0 deletions log/context_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -20,6 +20,8 @@ import (
"context"
"reflect"
"testing"

"github.com/sirupsen/logrus"
)

func TestLoggerContext(t *testing.T) {
Expand All @@ -35,3 +37,27 @@ func TestLoggerContext(t *testing.T) {
t.Errorf("should be the same: %+v, %+v", a, b)
}
}

func TestCompat(t *testing.T) {
expected := Fields{
"hello1": "world1",
"hello2": "world2",
"hello3": "world3",
}

l := G(context.TODO())
l = l.WithFields(logrus.Fields{"hello1": "world1"})
l = l.WithFields(Fields{"hello2": "world2"})
l = l.WithFields(map[string]any{"hello3": "world3"})
if !reflect.DeepEqual(Fields(l.Data), expected) {
t.Errorf("expected: (%[1]T) %+[1]v, got: (%[2]T) %+[2]v", expected, l.Data)
}

l2 := L
l2 = l2.WithFields(logrus.Fields{"hello1": "world1"})
l2 = l2.WithFields(Fields{"hello2": "world2"})
l2 = l2.WithFields(map[string]any{"hello3": "world3"})
if !reflect.DeepEqual(Fields(l2.Data), expected) {
t.Errorf("expected: (%[1]T) %+[1]v, got: (%[2]T) %+[2]v", expected, l2.Data)
}
}

0 comments on commit 96fb655

Please sign in to comment.