use tracing::{
subscriber::{set_global_default, SetGlobalDefaultError},
Level,
};
pub use tracing;
pub fn initialize_default() {
if tracing::dispatcher::has_been_set() {
return;
}
if cfg!(debug_assertions) {
_ = init(Level::DEBUG);
} else {
_ = init(Level::INFO);
}
}
pub fn init(level: Level) -> Result<(), SetGlobalDefaultError> {
#[cfg(target_arch = "wasm32")]
{
use tracing_subscriber::layer::SubscriberExt;
use tracing_subscriber::Registry;
let layer_config = tracing_wasm::WASMLayerConfigBuilder::new()
.set_max_level(level)
.build();
let layer = tracing_wasm::WASMLayer::new(layer_config);
let reg = Registry::default().with(layer);
console_error_panic_hook::set_once();
set_global_default(reg)
}
#[cfg(not(target_arch = "wasm32"))]
{
let sub = tracing_subscriber::FmtSubscriber::builder().with_max_level(level);
if !dioxus_cli_config::is_cli_enabled() {
return set_global_default(sub.finish());
}
set_global_default(sub.without_time().with_target(false).finish())
}
}