1 unstable release
0.1.0 | Feb 9, 2023 |
---|
#197 in #logger
12KB
54 lines
pretty-flexible-env-logger
A simple logger built on top of pretty_env_logger. An upstream's design decision was not to allow run-time configuration, but I have found that for CLI tools it actually makes sense to control logging in runtime based on command-line params, rather than requiring users to set RUST_LOG
directly.
To keep things simple, init_with
tries to look up passed string as an environment variable, and if that fails it considers the value to be inlined configuration, same as you would set RUST_LOG
with.
let args: Vec<String> = env::args().collect();
let default = "RUST_LOG".to_string();
let level = args.get(1).unwrap_or(&default);
if let Err(e) = pretty_flexible_env_logger::try_init_with(level) {
eprintln!("Some custom msg {}", e);
panic!("error!") // or whatever
}
info!("info");
warn!("warn");
error!("error");
debug!("debug");
License
- Creative Commons 0 (LICENSE or https://creativecommons.org/publicdomain/zero/1.0/)
Related Work
This crate is a little contribution built on the shoulders of giants:
Dependencies
~2–10MB
~99K SLoC