EnvManDebug

Derive Macro EnvManDebug 

Source
#[derive(EnvManDebug)]
{
    // Attributes available to this derive:
    #[envman]
}
Expand description

Derives Debug with masking support for fields marked with #[envman(secret)]

ยงExample


#[derive(EnvMan, EnvManDebug)]
struct Config {
    username: String,
    #[envman(secret)]
    password: String,
    #[envman(secret)]
    api_key: String,
}

#[allow(unused_unsafe)]
unsafe {
    std::env::set_var("USERNAME", "admin");
    std::env::set_var("PASSWORD", "secret123");
    std::env::set_var("API_KEY", "key_123456");
}

let config = Config::load_from_env().unwrap();
let debug_output = format!("{:?}", config);
assert!(debug_output.contains("username: \"admin\""));
assert!(debug_output.contains("password: \"***\""));
assert!(debug_output.contains("api_key: \"***\""));