Logrus 按字母顺序记录键,这是我想要和需要的,但我想编写一个测试以确保它不会更改,我尝试添加挂钩,但我认为我无法使用自定义访问完整日志我添加的上下文我WithFields只能获取消息记录示例
func TestSomething(t*testing.T){
logger, hook := test.NewNullLogger()
logger.WithField("correlationId","123").WithField("id","1").Info("hello")
assert.Equal(t, 1, len(hook.Entries))
assert.Equal(t, logrus.(Level, hook.LastEntry().Level)
assert.Equal(t, "Hello", hook.LastEntry().Message)
hook.Reset()
assert.Nil(t, hook.LastEntry())
}
我想测试message之前t在输出中出现的内容
log.SetFormatter(&log.JSONFormatter{
FieldMap: log.FieldMap{
log.FieldKeyMsg: "message",
log.FieldKeyTime: "t",
},
})
logger := log.WithFields(
log.Fields{
"id": context.id,
"correlationId": context.CorrelationId,
},