# README
Logger
Usage
Structured logging
logger := log.NewStdLogger(os.Stdout)
// fields & valuer
logger = log.With(logger,
"service.name", "hellworld",
"service.version", "v1.0.0",
"ts", log.DefaultTimestamp,
"caller", log.DefaultCaller,
)
logger.Log(log.LevelInfo, "key", "value")
// helper
helper := log.NewHelper(logger)
helper.Log(log.LevelInfo, "key", "value")
helper.Info("info message")
helper.Infof("info %s", "message")
helper.Infow("key", "value")
// filter
log := log.NewHelper(log.NewFilter(logger,
log.FilterLevel(LevelInfo),
log.FilterKey("foo"),
log.FilterValue("bar"),
log.FilterFunc(customFilter),
))
log.Debug("debug log")
log.Info("info log")
log.Warn("warn log")
log.Error("warn log")
# Functions
Caller returns returns a Valuer that returns a pkg/file:line description of the caller.
FilterFunc with filter func.
FilterKey with filter key.
FilterLevel with filter level.
FilterValue with filter value.
MultiLogger wraps multi logger.
NewFilter new a logger filter.
NewHelper new a logger helper.
NewStdLogger new a logger with writer.
ParseLevel parses a level string into a logger Level value.
SpanID returns a spanid valuer.
Timestamp returns a timestamp Valuer with a custom time format.
TraceID returns a traceid valuer.
Value return the function value.
With with logger fields.
WithContext returns a shallow copy of l with its context changed to ctx.
# Constants
LevelDebug is logger debug level.
LevelError is logger error level.
LevelFatal is logger fatal level.
LevelInfo is logger info level.
LevelKey is logger level key.
LevelWarn is logger warn level.
# Variables
DefaultCaller is a Valuer that returns the file and line.
DefaultLogger is default logger.
DefaultTimestamp is a Valuer that returns the current wallclock time.
# Interfaces
Logger is a logger interface.
# Type aliases
FilterOption is filter option.
Level is a logger level.
Valuer is returns a log value.