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{}
|
type loggerKey struct{}
|
||||||
|
|
||||||
// Fields type to pass to "WithFields".
|
// 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 is a logging entry. It contains all the fields passed with
|
||||||
// [Entry.WithFields]. It's finally logged when Trace, Debug, Info, Warn,
|
// [Entry.WithFields]. It's finally logged when Trace, Debug, Info, Warn,
|
||||||
|
@ -20,6 +20,8 @@ import (
|
|||||||
"context"
|
"context"
|
||||||
"reflect"
|
"reflect"
|
||||||
"testing"
|
"testing"
|
||||||
|
|
||||||
|
"github.com/sirupsen/logrus"
|
||||||
)
|
)
|
||||||
|
|
||||||
func TestLoggerContext(t *testing.T) {
|
func TestLoggerContext(t *testing.T) {
|
||||||
@ -35,3 +37,27 @@ func TestLoggerContext(t *testing.T) {
|
|||||||
t.Errorf("should be the same: %+v, %+v", a, b)
|
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