Skip to content

log

The log package writes leveled log messages to stderr, and optionally to a file as well. Messages below the current level are dropped.

log::info("service starting")
log::debug("hidden: the default level is INFO")
log::set_level("DEBUG")
log::debug("now visible")
log::warn("disk usage above 80%")
log::error("could not reach database")
[INFO] [3/22/2026 6:00:00 PM] service starting
[DEBUG] [3/22/2026 6:00:00 PM] now visible
[WARN] [3/22/2026 6:00:00 PM] disk usage above 80%
[ERROR] [3/22/2026 6:00:00 PM] could not reach database

From least to most severe: DEBUG, INFO, WARN, ERROR, FATAL. set_level shows messages at that level and above; the default is INFO.

log::fatal(message) logs the message and then ends the program with exit code 1.

log::set_file("/var/log/myapp.log") # also append every message to this file
log::timestamps(false) # drop the timestamp: "[INFO] message"
log::set_level(lv)

Sets the minimum log level. Messages below this level are suppressed.

ParameterTypeDefaultDescription
lvany
log::set_file(path)

Sets a file path to append log output to.

ParameterTypeDefaultDescription
pathstringFile path, or null to disable file output.
log::timestamps(enabled)

Enables or disables timestamps in log output.

ParameterTypeDefaultDescription
enabledbooleanWhether to include timestamps.
log::debug(msg)

Logs a DEBUG message.

ParameterTypeDefaultDescription
msganyThe message to log.
log::info(msg)

Logs an INFO message.

ParameterTypeDefaultDescription
msganyThe message to log.
log::warn(msg)

Logs a WARN message.

ParameterTypeDefaultDescription
msganyThe message to log.
log::error(msg)

Logs an ERROR message.

ParameterTypeDefaultDescription
msganyThe message to log.
log::fatal(msg)

Logs a FATAL message and exits with code 1.

ParameterTypeDefaultDescription
msganyThe message to log.