Codebase list golang-github-go-kit-kit / 1196389
Make levels API more composable. Chris Hines 8 years ago
2 changed file(s) with 22 addition(s) and 22 deletion(s). Raw diff Collapse all Expand all
6161 }
6262 }
6363
64 // Debug logs a debug event along with keyvals.
65 func (l Levels) Debug(keyvals ...interface{}) error {
66 return l.ctx.WithPrefix(l.levelKey, l.debugValue).Log(keyvals...)
64 // Debug returns a debug level logger.
65 func (l Levels) Debug(keyvals ...interface{}) log.Logger {
66 return l.ctx.WithPrefix(l.levelKey, l.debugValue)
6767 }
6868
69 // Info logs an info event along with keyvals.
70 func (l Levels) Info(keyvals ...interface{}) error {
71 return l.ctx.WithPrefix(l.levelKey, l.infoValue).Log(keyvals...)
69 // Info returns an info level logger.
70 func (l Levels) Info(keyvals ...interface{}) log.Logger {
71 return l.ctx.WithPrefix(l.levelKey, l.infoValue)
7272 }
7373
74 // Warn logs a warn event along with keyvals.
75 func (l Levels) Warn(keyvals ...interface{}) error {
76 return l.ctx.WithPrefix(l.levelKey, l.warnValue).Log(keyvals...)
74 // Warn returns a warning level logger.
75 func (l Levels) Warn(keyvals ...interface{}) log.Logger {
76 return l.ctx.WithPrefix(l.levelKey, l.warnValue)
7777 }
7878
79 // Error logs an error event along with keyvals.
80 func (l Levels) Error(keyvals ...interface{}) error {
81 return l.ctx.WithPrefix(l.levelKey, l.errorValue).Log(keyvals...)
79 // Error returns an error level logger.
80 func (l Levels) Error(keyvals ...interface{}) log.Logger {
81 return l.ctx.WithPrefix(l.levelKey, l.errorValue)
8282 }
8383
84 // Crit logs a crit event along with keyvals.
85 func (l Levels) Crit(keyvals ...interface{}) error {
86 return l.ctx.WithPrefix(l.levelKey, l.critValue).Log(keyvals...)
84 // Crit returns a critical level logger.
85 func (l Levels) Crit(keyvals ...interface{}) log.Logger {
86 return l.ctx.WithPrefix(l.levelKey, l.critValue)
8787 }
8888
8989 // Option sets a parameter for leveled loggers.
1212 buf := bytes.Buffer{}
1313 logger := levels.New(log.NewLogfmtLogger(&buf))
1414
15 logger.Debug("msg", "résumé") // of course you'd want to do this
15 logger.Debug().Log("msg", "résumé") // of course you'd want to do this
1616 if want, have := "level=debug msg=résumé\n", buf.String(); want != have {
1717 t.Errorf("want %#v, have %#v", want, have)
1818 }
1919
2020 buf.Reset()
21 logger.Info("msg", "Åhus")
21 logger.Info().Log("msg", "Åhus")
2222 if want, have := "level=info msg=Åhus\n", buf.String(); want != have {
2323 t.Errorf("want %#v, have %#v", want, have)
2424 }
2525
2626 buf.Reset()
27 logger.Error("msg", "© violation")
27 logger.Error().Log("msg", "© violation")
2828 if want, have := "level=error msg=\"© violation\"\n", buf.String(); want != have {
2929 t.Errorf("want %#v, have %#v", want, have)
3030 }
3131
3232 buf.Reset()
33 logger.Crit("msg", " ")
33 logger.Crit().Log("msg", " ")
3434 if want, have := "level=crit msg=\"\\t\"\n", buf.String(); want != have {
3535 t.Errorf("want %#v, have %#v", want, have)
3636 }
4747 levels.ErrorValue("err"),
4848 levels.CritValue("crt"),
4949 )
50 logger.With("easter_island", "176°").Debug("msg", "moai")
50 logger.With("easter_island", "176°").Debug().Log("msg", "moai")
5151 if want, have := `{"easter_island":"176°","l":"dbg","msg":"moai"}`+"\n", buf.String(); want != have {
5252 t.Errorf("want %#v, have %#v", want, have)
5353 }
5555
5656 func ExampleLevels() {
5757 logger := levels.New(log.NewLogfmtLogger(os.Stdout))
58 logger.Debug("msg", "hello")
59 logger.With("context", "foo").Warn("err", "error")
58 logger.Debug().Log("msg", "hello")
59 logger.With("context", "foo").Warn().Log("err", "error")
6060
6161 // Output:
6262 // level=debug msg=hello