use tracing_subscriber::{layer::SubscriberExt as _, util::SubscriberInitExt as _, Layer as _};
#[inline]
pub fn init() {
let fmt = tracing_subscriber::fmt::layer()
.with_writer(std::io::stderr)
.pretty()
.with_filter(tracing::level_filters::LevelFilter::INFO);
#[cfg(feature = "sentry")]
tracing_subscriber::registry()
.with(fmt)
.with(crate::telemetry::tracing_layer())
.init();
#[cfg(not(feature = "sentry"))]
tracing_subscriber::registry().with(fmt).init();
}
#[inline]
pub fn try_init() -> Result<(), Box<dyn std::error::Error + Send + Sync>> {
let fmt = tracing_subscriber::fmt::layer()
.with_writer(std::io::stderr)
.pretty()
.with_filter(tracing::level_filters::LevelFilter::INFO);
#[cfg(feature = "sentry")]
return tracing_subscriber::registry()
.with(fmt)
.with(crate::telemetry::tracing_layer())
.try_init()
.map_err(Into::into);
#[cfg(not(feature = "sentry"))]
tracing_subscriber::registry()
.with(fmt)
.try_init()
.map_err(Into::into)
}