package zerolog import ( "errors" "io/ioutil" "testing" "time" ) var ( errExample = errors.New("fail") fakeMessage = "Test logging, but use a somewhat realistic message length." ) func BenchmarkLogEmpty(b *testing.B) { logger := New(ioutil.Discard) b.ResetTimer() b.RunParallel(func(pb *testing.PB) { for pb.Next() { logger.Log().Msg("") } }) } func BenchmarkDisabled(b *testing.B) { logger := New(ioutil.Discard).Level(Disabled) b.ResetTimer() b.RunParallel(func(pb *testing.PB) { for pb.Next() { logger.Info().Msg(fakeMessage) } }) } func BenchmarkInfo(b *testing.B) { logger := New(ioutil.Discard) b.ResetTimer() b.RunParallel(func(pb *testing.PB) { for pb.Next() { logger.Info().Msg(fakeMessage) } }) } func BenchmarkContextFields(b *testing.B) { logger := New(ioutil.Discard).With(). Str("string", "four!"). Time("time", time.Time{}). Int("int", 123). Float32("float", -2.203230293249593). Logger() b.ResetTimer() b.RunParallel(func(pb *testing.PB) { for pb.Next() { logger.Info().Msg(fakeMessage) } }) } func BenchmarkLogFields(b *testing.B) { logger := New(ioutil.Discard) b.ResetTimer() b.RunParallel(func(pb *testing.PB) { for pb.Next() { logger.Info(). Str("string", "four!"). Time("time", time.Time{}). Int("int", 123). Float32("float", -2.203230293249593). Msg(fakeMessage) } }) }