logger is a fast Go logging package made to be simple but effective.
Overview
Install with:
go get github.com/hamba/logger
Formatters
- JSON
- Logfmt
- Console
Handlers
- StreamHandler Write directly to a Writer, usually
os.Stdout
- BufferedStreamHandler A buffered version of
StreamHandler
- FilterHandler Filter log line using a function
- LevelFilterHandler Filter log line by level
- DiscardHandler Discard everything
Examples
// Composable handlers
h := logger.LevelFilterHandler(
logger.Info,
logger.StreamHandler(os.Stdout, logger.LogfmtFormat()),
)
// The logger can have an initial context
l := logger.New(h, "env", "prod")
// All messages can have a context
l.Warn("connection error", "redis", conn.Name(), "timeout", conn.Timeout())
Will log the message
lvl=warn msg="connection error" redis=dsn_1 timeout=0.500
More examples can be found in the godocs.