Logging#
boxes and glue uses the slog package for structured logging. Until the slog package is part of Go's standard library, golang.org/x/exp/slog is used. Hopefully the standard library will have identical syntax and semantics.
Enable logging#
boxes and glue starts with logging disabled. It uses the bag.Logger
as a logger.
To enable logging, you must create a log handler:
for JSON output and
for text output. The bag.SetLogger()
function makes sure that the called libraries use the same logger.
Using the logger#
The logger can be used like this:
which outputs (in JSON)
{
"time":"2023-07-16T16:42:59.619968+02:00",
"level":"INFO",
"msg":"Read font file",
"filename":"MinionPro-Regular.otf"
}
You can use bag.Logger
to set the default logger: