Product
Introducing License Enforcement in Socket
Ensure open-source compliance with Socket’s License Enforcement Beta. Set up your License Policy and secure your software!
github.com/ipfs/go-log/v2
The logging library used by go-ipfs
go-log wraps zap to provide a logging facade. go-log manages logging instances and allows for their levels to be controlled individually.
go get github.com/ipfs/go-log
Once the package is imported under the name logging
, an instance of EventLogger
can be created like so:
var log = logging.Logger("subsystem name")
It can then be used to emit log messages in plain printf-style messages at seven standard levels:
Levels may be set for all loggers:
lvl, err := logging.LevelFromString("error")
if err != nil {
panic(err)
}
logging.SetAllLoggers(lvl)
or individually:
err := logging.SetLogLevel("net:pubsub", "info")
if err != nil {
panic(err)
}
or by regular expression:
err := logging.SetLogLevelRegex("net:.*", "info")
if err != nil {
panic(err)
}
This package can be configured through various environment variables.
GOLOG_LOG_LEVEL
Specifies the log-level, both globally and on a per-subsystem basis.
For example, the following will set the global minimum log level to error
, but reduce the minimum
log level for subsystem1
to info
and reduce the minimum log level for subsystem2
to debug.
export GOLOG_LOG_LEVEL="error,subsystem1=info,subsystem2=debug"
IPFS_LOGGING
is a deprecated alias for this environment variable.
GOLOG_FILE
Specifies that logs should be written to the specified file. If this option is not specified, logs are written to standard error.
export GOLOG_FILE="/path/to/my/file.log"
GOLOG_OUTPUT
Specifies where logging output should be written. Can take one or more of the following values, combined with +
:
stdout
-- write logs to standard out.stderr
-- write logs to standard error.file
-- write logs to the file specified by GOLOG_FILE
For example, if you want to log to both a file and standard error:
export GOLOG_FILE="/path/to/my/file.log"
export GOLOG_OUTPUT="stderr+file"
Setting only GOLOG_FILE
will prevent logs from being written to standard error.
GOLOG_LOG_FMT
Specifies the log message format. It supports the following values:
color
-- human readable, colorized (ANSI) outputnocolor
-- human readable, plain-text output.json
-- structured JSON.For example, to log structured JSON (for easier parsing):
export GOLOG_LOG_FMT="json"
The logging format defaults to color
when the output is a terminal, and nocolor
otherwise.
IPFS_LOGGING_FMT
is a deprecated alias for this environment variable.
GOLOG_LOG_LABELS
Specifies a set of labels that should be added to all log messages as comma-separated key-value
pairs. For example, the following add {"app": "example_app", "dc": "sjc-1"}
to every log entry.
export GOLOG_LOG_LABELS="app=example_app,dc=sjc-1"
Feel free to join in. All welcome. Open an issue!
This repository falls under the IPFS Code of Conduct.
MIT
FAQs
Unknown package
Did you know?
Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.
Product
Ensure open-source compliance with Socket’s License Enforcement Beta. Set up your License Policy and secure your software!
Product
We're launching a new set of license analysis and compliance features for analyzing, managing, and complying with licenses across a range of supported languages and ecosystems.
Product
We're excited to introduce Socket Optimize, a powerful CLI command to secure open source dependencies with tested, optimized package overrides.