use tracing_subscriber::EnvFilter;
const DEFAULT_FILTER: &str = "info,toac=warn";
pub fn init_tracing(filter: Option<&str>) -> anyhow::Result<()> {
let default_filter = filter.unwrap_or(DEFAULT_FILTER);
tracing_subscriber::fmt()
.with_env_filter(
EnvFilter::try_from_default_env().unwrap_or_else(|_| EnvFilter::new(default_filter)),
)
.with_writer(std::io::stderr)
.with_target(true)
.with_ansi(std::io::IsTerminal::is_terminal(&std::io::stderr()))
.try_init()
.map_err(|e| anyhow::anyhow!("tracing init failed: {e}"))
}