...

Source file src/github.com/go-kit/log/level/doc.go

Documentation: github.com/go-kit/log/level

     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  // It's also possible to configure log level from a string. For instance from
    11  // a flag, environment variable or configuration file.
    12  //
    13  //    fs := flag.NewFlagSet("myprogram")
    14  //    lvl := fs.String("log", "info", "debug, info, warn, error")
    15  //
    16  //    var logger log.Logger
    17  //    logger = log.NewLogfmtLogger(os.Stderr)
    18  //    logger = level.NewFilter(logger, level.Allow(level.ParseDefault(*lvl, level.InfoValue()))) // <--
    19  //    logger = log.With(logger, "ts", log.DefaultTimestampUTC)
    20  //
    21  // Then, at the callsites, use one of the level.Debug, Info, Warn, or Error
    22  // helper methods to emit leveled log events.
    23  //
    24  //    logger.Log("foo", "bar") // as normal, no level
    25  //    level.Debug(logger).Log("request_id", reqID, "trace_data", trace.Get())
    26  //    if value > 100 {
    27  //        level.Error(logger).Log("value", value)
    28  //    }
    29  //
    30  // NewFilter allows precise control over what happens when a log event is
    31  // emitted without a level key, or if a squelched level is used. Check the
    32  // Option functions for details.
    33  package level
    34  

View as plain text