Expand description

A consumer for the log crate

The crate implements a logger that allows module-wise configuration of logging through configuration files or an API.


  • Log output can be written to stdout, stderr, to file or to a memory buffer.
  • Log output can be colored.
  • Features can be set using a configuration file or the API

The configuration file can be enabled by setting the environment variable LOG_CONFIG to the path of the file. The configuration is specified in YAML format and allows to set the following values. All values are optional.

  • default_level: The default log level, one of trace, debug, info, warn, error, defaults to info
  • mod_level: A list of module name and log level pairs
  • log_dest: One of stdout, stderr, stream, buffer, streamstdout, streamstderr, bufferstdout, bufferstderr.
  • log_stream: The log file name for stream variants of log_dest
  • color: one of true or false
  • brief_info: one of true or false


log_level: warn
log_dest: streamstderr
log_stream: debug.log
color: true
brief_info: true
  'test_mod': debug
  'test_mod::test_test': trace


The Logger struct holds a singleton containing all relevant information.


An enum representing the available verbosity levels of the logger.