Crates.io | pretty_flexible_env_logger |
lib.rs | pretty_flexible_env_logger |
version | 0.1.0 |
source | src |
created_at | 2023-02-09 11:10:31.032161 |
updated_at | 2023-02-09 11:10:31.032161 |
description | A visually pretty yet a bit configurable env_logger |
homepage | |
repository | https://git.sr.ht/~unjello/pretty_flexible_env_logger |
max_upload_size | |
id | 780650 |
size | 22,106 |
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");
Creative Commons 0 (LICENSE or https://creativecommons.org/publicdomain/zero/1.0/)
This crate is a little contribution built on the shoulders of giants: