use tracing::subscriber::set_global_default;
use tracing_bunyan_formatter::{BunyanFormattingLayer, JsonStorageLayer};
use tracing_error::ErrorLayer;
use tracing_log::LogTracer;
use tracing_subscriber::layer::SubscriberExt;
use tracing_subscriber::{EnvFilter, Registry};
pub fn setup() {
LogTracer::init().expect("failed to set logger");
let env_filter = EnvFilter::try_from_default_env()
.or_else(|_| EnvFilter::try_new("info"))
.unwrap();
let formatting_layer = BunyanFormattingLayer::new("gloom".to_string(), std::io::stdout);
let subscriber = Registry::default()
.with(env_filter)
.with(JsonStorageLayer)
.with(ErrorLayer::default())
.with(formatting_layer);
set_global_default(subscriber).expect("failed to set subscriber");
}