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);
set_global_default(reg)
}
#[cfg(not(target_arch = "wasm32"))]
{
let sub = tracing_subscriber::FmtSubscriber::builder()
.with_max_level(level)
.with_env_filter(
tracing_subscriber::EnvFilter::builder()
.with_default_directive(level.into())
.from_env_lossy()
.add_directive("hyper_util=warn".parse().unwrap()), );
if !dioxus_cli_config::is_cli_enabled() {
return set_global_default(sub.finish());
}
set_global_default(sub.without_time().with_target(false).finish())
}
}