1 // Package level implements leveled logging on top of package log. To use the
2 // level package, create a logger as per normal in your func main, and wrap it
3 // with level.NewFilter.
5 // var logger log.Logger
6 // logger = log.NewLogfmtLogger(os.Stderr)
7 // logger = level.NewFilter(logger, level.AllowInfoAndAbove()) // <--
8 // logger = log.With(logger, "ts", log.DefaultTimestampUTC)
10 // Then, at the callsites, use one of the level.Debug, Info, Warn, or Error
11 // helper methods to emit leveled log events.
13 // logger.Log("foo", "bar") // as normal, no level
14 // level.Debug(logger).Log("request_id", reqID, "trace_data", trace.Get())
16 // level.Error(logger).Log("value", value)
19 // NewFilter allows precise control over what happens when a log event is
20 // emitted without a level key, or if a squelched level is used. Check the
21 // Option functions for details.