logging - 有没有办法以编程方式更改日志箱的默认日志记录级别?

标签 logging environment-variables rust

我正在用 Rust 开发一个项目,供系统管理员通过 CLI 使用。 在这个程序中,我希望有这样的行:

warn!("File {} not found, proceeding to next file", file_path);

我不认为这是软件上下文中的错误,但我仍然希望我的用户知道。

但是,默认情况下,Rust 的日志系统仅在 ERROR 日志级别打印消息,我发现更改此默认值的唯一方法是设置 RUST_LOG环境变量——我不希望我的用户必须这样做。我想我可以创建一个包装器脚本来设置变量并执行程序,但我不想这样做。

有没有办法从程序内部以编程方式更改默认级别?

最佳答案

这里有一个技巧可以做到这一点

if env::var("RUST_LOG").is_err() {
    env::set_var("RUST_LOG", "info")
}
env_logger::init();

关于logging - 有没有办法以编程方式更改日志箱的默认日志记录级别?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26142232/

相关文章:

java - 是否可以使用 Log4J 仅记录一级消息

python - 文件处理程序的不同日志记录级别和 Python 中的显示

macos - Mac OS X 中的环境变量

reference - 为什么我可以返回对本地文字的引用而不是变量?

rust - 有什么方法可以为 rust 结构附加一些调试字段吗?

c++ - 如何使C++日志记录更简洁

python - Celery 从 Django 模块内部记录到文件

docker - docker中的Webpack应用需要环境变量才能构建

Python在创建venv时设置环境变量

rust - 如何在 Rust 函数签名中使用 Fn 特征(闭包)?