rust-cookbook
rust-cookbook copied to clipboard
update Log Messages/Configure Logging sections
trafficstars
there are instances of code that may have previously worked but are now outdated due to changes in the env_logger crate
https://rust-lang-nursery.github.io/rust-cookbook/development_tools/debugging/config_log.html#use-a-custom-environment-variable-to-set-up-logging
use std::env;
use env_logger::Builder;
fn main() {
Builder::new()
.parse(&env::var("MY_APP_LOG").unwrap_or_default()) // Deprecated method
.init();
log::info!("informational message");
log::warn!("warning message");
log::error!("this is an error {}", "message");
}
Fix
https://docs.rs/env_logger/latest/env_logger/struct.Builder.html#method.from_env
use env_logger::Builder;
let mut builder = Builder::from_env("MY_APP_LOG");
builder.init();
or
https://docs.rs/env_logger/latest/env_logger/struct.Builder.html#method.parse_env
use log::LevelFilter;
use env_logger::Builder;
let mut builder = Builder::new();
builder.filter_level(LevelFilter::Off);
builder.parse_env("MY_APP_LOG");
builder.init();