rust-cookbook icon indicating copy to clipboard operation
rust-cookbook copied to clipboard

update Log Messages/Configure Logging sections

Open Arteiii opened this issue 1 year ago • 1 comments
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();

Arteiii avatar Apr 29 '24 14:04 Arteiii