use std::io;
use tracing_subscriber::{fmt, fmt::format::FmtSpan, EnvFilter};
pub fn init_logging() {
let filter = EnvFilter::try_from_default_env().unwrap_or_else(|_| EnvFilter::new("info"));
#[cfg(any(debug_assertions, feature = "verbose_logging"))]
{
if fmt::Subscriber::builder()
.with_env_filter(filter)
.with_span_events(FmtSpan::CLOSE)
.with_target(true)
.with_thread_ids(true)
.with_thread_names(true)
.with_file(true)
.with_line_number(true)
.with_writer(io::stderr) .try_init()
.is_err()
{
}
}
#[cfg(not(any(debug_assertions, feature = "verbose_logging")))]
{
if fmt::Subscriber::builder()
.with_env_filter(filter)
.with_span_events(FmtSpan::NONE)
.with_target(false)
.with_thread_ids(false)
.with_thread_names(false)
.with_file(false)
.with_line_number(false)
.without_time() .with_ansi(false) .compact() .with_writer(io::stderr) .try_init()
.is_err()
{
}
}
}