use tracing_subscriber::fmt::format::FmtSpan;
use tracing_subscriber::EnvFilter;
pub fn init_tracing(component: &str) {
let default_filter = format!("info,butterfly_bot=debug,{component}=debug");
let filter = std::env::var("BUTTERFLY_LOG")
.ok()
.and_then(|value| EnvFilter::try_new(value).ok())
.or_else(|| EnvFilter::try_from_default_env().ok())
.unwrap_or_else(|| EnvFilter::new(default_filter));
let _ = tracing_subscriber::fmt()
.with_env_filter(filter)
.with_target(true)
.with_file(true)
.with_line_number(true)
.with_thread_ids(true)
.with_thread_names(true)
.with_span_events(FmtSpan::NEW | FmtSpan::CLOSE)
.compact()
.try_init();
}