#[cfg(not(target_arch = "wasm32"))]
fn set_default_rust_log_env() {
let mut rust_log = std::env::var("RUST_LOG").unwrap_or_else(|_| "info".to_owned());
const LOUD_CRATES: [&str; 7] = [
"naga",
"wgpu_core",
"wgpu_hal",
"h2",
"hyper",
"rustls",
"ureq",
];
for loud_crate in LOUD_CRATES {
if !rust_log.contains(&format!("{loud_crate}=")) {
rust_log += &format!(",{loud_crate}=warn");
}
}
std::env::set_var("RUST_LOG", rust_log);
if std::env::var("RUST_BACKTRACE").is_err() {
std::env::set_var("RUST_BACKTRACE", "1");
}
}
#[cfg(not(target_arch = "wasm32"))]
pub fn setup_native_logging() {
set_default_rust_log_env();
tracing_subscriber::fmt::init(); }
#[cfg(target_arch = "wasm32")]
fn default_web_log_filter() -> String {
"warn".to_owned()
}
#[cfg(target_arch = "wasm32")]
pub fn setup_web_logging() {
use tracing_subscriber::layer::SubscriberExt as _;
tracing::subscriber::set_global_default(
tracing_subscriber::Registry::default()
.with(tracing_subscriber::EnvFilter::new(default_web_log_filter()))
.with(tracing_wasm::WASMLayer::new(
tracing_wasm::WASMLayerConfig::default(),
)),
)
.expect("Failed to set tracing subscriber.");
}