1// Package level implements leveled logging on top of Go kit's log package. To
2// use the level package, create a logger as per normal in your func main, and
3// wrap it with level.NewFilter.
4//
5//    var logger log.Logger
6//    logger = log.NewLogfmtLogger(os.Stderr)
7//    logger = level.NewFilter(logger, level.AllowInfo()) // <--
8//    logger = log.With(logger, "ts", log.DefaultTimestampUTC)
9//
10// Then, at the callsites, use one of the level.Debug, Info, Warn, or Error
11// helper methods to emit leveled log events.
12//
13//    logger.Log("foo", "bar") // as normal, no level
14//    level.Debug(logger).Log("request_id", reqID, "trace_data", trace.Get())
15//    if value > 100 {
16//        level.Error(logger).Log("value", value)
17//    }
18//
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.
22package level
23