pub mod logging {
use tracing::subscriber::set_global_default;
use tracing_log::LogTracer;
use tracing_subscriber::fmt;
use tracing_subscriber::layer::SubscriberExt;
use tracing_subscriber::EnvFilter;
lazy_static::lazy_static! {
static ref LOGGING: () = {
LogTracer::init()
.expect("failed to init logging for testing");
let filter = if std::env::var_os("RUST_LOG").is_some() {
EnvFilter::from_default_env()
} else {
EnvFilter::from(format!("{}=info", env!("CARGO_CRATE_NAME")))
};
let fmt = fmt::layer()
.with_test_writer()
.with_ansi(true)
.with_thread_ids(true)
.with_thread_names(true)
.with_target(false);
let registry = tracing_subscriber::registry().with(filter).with(fmt);
set_global_default(registry)
.expect("failed to init tracing for testing");
};
}
pub fn init() {
lazy_static::initialize(&LOGGING);
}
}