#log-level #logging #configuration #log-file #module #config-file #provider

bin+lib mod_logger

A consumer for the log crate that allows module-wise configuration

10 releases

0.8.4 Jan 20, 2024
0.8.3 Jan 1, 2024
0.8.1 Apr 16, 2022
0.8.0 Aug 20, 2020
0.6.1 May 28, 2020

#598 in Debugging

24 downloads per month

MIT/Apache

45KB
1K SLoC

ModuleLogger

A logging provider for the rust log crate that can be dynamically configured on a module basis.


lib.rs:

A consumer for the log crate

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

Features

  • 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

Sample:

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

Dependencies

~3–11MB
~119K SLoC