log: make Fields type a generic map[string]any
Decouple it from logrus, but with the same type. Signed-off-by: Sebastiaan van Stijn <github@gone.nl>
This commit is contained in:
parent
634a4a1bbf
commit
238da2c525
@ -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,
|
||||
|
@ -20,6 +20,8 @@ import (
|
||||
"context"
|
||||
"reflect"
|
||||
"testing"
|
||||
|
||||
"github.com/sirupsen/logrus"
|
||||
)
|
||||
|
||||
func TestLoggerContext(t *testing.T) {
|
||||
@ -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)
|
||||
}
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user