From 08f6f569bf765d27fcfc21c9a7d6650df3e02ada Mon Sep 17 00:00:00 2001 From: Brandon Thomas Date: Wed, 16 Jul 2025 17:37:39 -0400 Subject: [PATCH] slightly better logging --- .../startup/tasks/set_app_log_level.rs | 55 ++++++++++++------- 1 file changed, 34 insertions(+), 21 deletions(-) diff --git a/crates/desktop/artcraft/src/core/lifecycle/startup/tasks/set_app_log_level.rs b/crates/desktop/artcraft/src/core/lifecycle/startup/tasks/set_app_log_level.rs index 7413116bf0..471b24866a 100644 --- a/crates/desktop/artcraft/src/core/lifecycle/startup/tasks/set_app_log_level.rs +++ b/crates/desktop/artcraft/src/core/lifecycle/startup/tasks/set_app_log_level.rs @@ -13,25 +13,38 @@ pub fn set_app_log_level( root: &AppDataRoot, ) -> AnyhowResult<()> { - print_env_var(RUST_LOG); + //print_env_var(RUST_LOG); // NB: The semantics of this do not match `RUST_LOG` exactly as it's not set per-package. - let level = env::var(RUST_LOG) - .map(|value| value.trim().to_ascii_lowercase()) - .unwrap_or("info".to_string()); + let maybe_level = env::var(RUST_LOG) + .map(|value| value.trim().to_ascii_lowercase()); let mut log_level = LevelFilter::Info; - if level.contains("debug") { - log_level = LevelFilter::Debug; - } else if level.contains("info") { - log_level = LevelFilter::Info; - } else if level.contains("warn") { - log_level = LevelFilter::Warn; - } else if level.contains("error") { - log_level = LevelFilter::Error; - } else if level.contains("off") { - log_level = LevelFilter::Off; + match maybe_level { + Ok(level) => { + println!("The `RUST_LOG` environment variable was set to: `{}`.", level); + + if level.contains("debug") { + log_level = LevelFilter::Debug; + } else if level.contains("info") { + log_level = LevelFilter::Info; + } else if level.contains("warn") { + log_level = LevelFilter::Warn; + } else if level.contains("error") { + log_level = LevelFilter::Error; + } else if level.contains("off") { + log_level = LevelFilter::Off; + } + } + Err(VarError::NotPresent) => { + // NB: This demonstrably tests stderr output in the default case. + eprintln!("No `RUST_LOG` environment variable found."); + } + Err(VarError::NotUnicode(_)) => { + // NB: This demonstrably tests stderr output in the default case. + eprintln!("Could not parse `RUST_LOG` environment variable; not unicode."); + } } println!("Setting app log level to: {:?}", log_level); @@ -51,10 +64,10 @@ pub fn set_app_log_level( Ok(()) } -pub fn print_env_var(var_name: &str) { - match env::var(var_name) { - Ok(value) => println!("Environment variable `{}` = {}", var_name, value), - Err(VarError::NotPresent) => println!("Environment variable `{}` is not set.", var_name), - Err(VarError::NotUnicode(_)) => println!("Environment variable `{}` is not a valid Unicode string", var_name), - } -} +// pub fn print_env_var(var_name: &str) { +// match env::var(var_name) { +// Ok(value) => println!("Environment variable `{}` = {}", var_name, value), +// Err(VarError::NotPresent) => println!("Environment variable `{}` is not set.", var_name), +// Err(VarError::NotUnicode(_)) => println!("Environment variable `{}` is not a valid Unicode string", var_name), +// } +// }