A log object called “log” and a log handler writing to standard output
are created during the log module initialization. The log handler can
be replaced by calling log_set_default_handler_output_channel().

Normally one log object is created for each subsystem in an
application. This gives the user the power to control which parts of
the system to debug and/or monitor at runtime.

Sometimes it’s useful to write log entries to multiple channels. This
is possible by creating and adding another log handler to the log
module.

A log entry consists of a timestamp, log level, thread name, log
object name and the message. The timestamp is the log entry creation
time and the log level is one of fatal, error, warning, info and
debug. The thread name is the name of the thread that created the log
entry and the log object name is the name of the log object the entry
was printed on. The message is a user defined string.