Ren*_*non 8 logging environment-variables rust
我正在用 Rust 开发一个项目,供系统管理员通过 CLI 使用。在这个程序中,我想要这样的行:
warn!("File {} not found, proceeding to next file", file_path);
Run Code Online (Sandbox Code Playgroud)
我不认为软件上下文中存在错误,但我仍然希望我的用户能够意识到这一点。
然而,Rust 的日志系统默认情况下仅在ERROR
日志级别打印消息,我发现更改此默认值的唯一方法是设置RUST_LOG
环境变量 - 我不希望我的用户必须这样做。我想我可以创建一个包装器脚本,只设置变量并exec
保存程序,但我宁愿不这样做。
有没有办法从程序内部以编程方式更改默认级别?
two*_*rec 13
这是一个技巧,可以做到这一点
if env::var("RUST_LOG").is_err() {
env::set_var("RUST_LOG", "info")
}
env_logger::init();
Run Code Online (Sandbox Code Playgroud)
如果你使用 env_logger 你可以在 main 中执行如下操作:
env_logger::builder()
.filter_level(log::LevelFilter::Debug)
.format_target(false)
.format_timestamp(None)
.init();
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
4683 次 |
最近记录: |