#logger #logging #log #env-var

pretty_flexible_env_logger

一个视觉上美观且略可配置的 env_logger

1 个不稳定版本

0.1.0 2023年2月9日

#674调试

CC0 许可证

12KB
54

pretty-flexible-env-logger

Crates.io Docs CC0-1.0 GitHub CI

基于 pretty_env_logger 的简单日志记录器。上游的设计决策是不允许运行时配置,但我发现对于命令行工具来说,根据命令行参数控制日志记录实际上是有意义的,而不是要求用户直接设置 RUST_LOG

为了保持简单,init_with 尝试查找传递的字符串作为环境变量,如果失败,则将其视为内联配置,就像你设置 RUST_LOG 一样。

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");

许可证

这个crate是建立在大佬肩膀上的小贡献

依赖项

~2–11MB
~104K SLoC