MCPcopy
hub / github.com/rs/zerolog / TestLevelWriter

Function TestLevelWriter

log_test.go:876–935  ·  view source on GitHub ↗
(t *testing.T)

Source from the content-addressed store, hash-verified

874}
875
876func TestLevelWriter(t *testing.T) {
877 lw := &levelWriter{
878 ops: []struct {
879 l Level
880 p string
881 }{},
882 }
883
884 // Allow extra-verbose logs.
885 SetGlobalLevel(TraceLevel - 1)
886 log := New(lw).Level(TraceLevel - 1)
887
888 log.Trace().Msg("0")
889 log.Debug().Msg("1")
890 log.Info().Msg("2")
891 log.Warn().Msg("3")
892 log.Error().Msg("4")
893 log.Log().Msg("nolevel-1")
894 log.WithLevel(TraceLevel).Msg("5")
895 log.WithLevel(DebugLevel).Msg("6")
896 log.WithLevel(InfoLevel).Msg("7")
897 log.WithLevel(WarnLevel).Msg("8")
898 log.WithLevel(ErrorLevel).Msg("9")
899 log.WithLevel(FatalLevel).Msg("10")
900 log.WithLevel(PanicLevel).Msg("11")
901 log.WithLevel(NoLevel).Msg("nolevel-2")
902 log.WithLevel(-1).Msg("-1") // Same as TraceLevel
903 log.WithLevel(-2).Msg("-2") // Will log
904 log.WithLevel(-3).Msg("-3") // Will not log
905 log.WithLevel(Disabled).Msg("Disabled") // Will not log
906 log.Err(nil).Msg("e-1") // Will log at InfoLevel
907 log.Err(errors.New("some error")).Msg("e-2") // Will log at ErrorLevel
908
909 want := []struct {
910 l Level
911 p string
912 }{
913 {TraceLevel, `{"level":"trace","message":"0"}` + "\n"},
914 {DebugLevel, `{"level":"debug","message":"1"}` + "\n"},
915 {InfoLevel, `{"level":"info","message":"2"}` + "\n"},
916 {WarnLevel, `{"level":"warn","message":"3"}` + "\n"},
917 {ErrorLevel, `{"level":"error","message":"4"}` + "\n"},
918 {NoLevel, `{"message":"nolevel-1"}` + "\n"},
919 {TraceLevel, `{"level":"trace","message":"5"}` + "\n"},
920 {DebugLevel, `{"level":"debug","message":"6"}` + "\n"},
921 {InfoLevel, `{"level":"info","message":"7"}` + "\n"},
922 {WarnLevel, `{"level":"warn","message":"8"}` + "\n"},
923 {ErrorLevel, `{"level":"error","message":"9"}` + "\n"},
924 {FatalLevel, `{"level":"fatal","message":"10"}` + "\n"},
925 {PanicLevel, `{"level":"panic","message":"11"}` + "\n"},
926 {NoLevel, `{"message":"nolevel-2"}` + "\n"},
927 {Level(-1), `{"level":"trace","message":"-1"}` + "\n"},
928 {Level(-2), `{"level":"-2","message":"-2"}` + "\n"},
929 {InfoLevel, `{"level":"info","message":"e-1"}` + "\n"},
930 {ErrorLevel, `{"level":"error","error":"some error","message":"e-2"}` + "\n"},
931 }
932 if got := lw.ops; !reflect.DeepEqual(got, want) {
933 t.Errorf("invalid ops:\ngot:\n%v\nwant:\n%v", got, want)

Callers

nothing calls this directly

Calls 13

SetGlobalLevelFunction · 0.85
NewFunction · 0.85
LevelMethod · 0.80
MsgMethod · 0.80
WarnMethod · 0.80
WithLevelMethod · 0.80
LevelTypeAlias · 0.70
DebugMethod · 0.65
InfoMethod · 0.65
LogMethod · 0.65
ErrMethod · 0.65
TraceMethod · 0.45

Tested by

no test coverage detected