use tracing_appender::non_blocking::WorkerGuard;
use tracing_subscriber::prelude::*;
pub fn init_logging(log_dir: &str, prefix: &str) -> WorkerGuard {
let _ = std::fs::create_dir_all(log_dir);
let date = chrono::Local::now().format("%Y-%m-%d").to_string();
let filename = format!("{}-{}.jsonl", prefix, date);
let file_appender = tracing_appender::rolling::never(log_dir, filename);
let (non_blocking, guard) = tracing_appender::non_blocking(file_appender);
tracing_subscriber::registry()
.with(
tracing_subscriber::fmt::layer()
.json()
.with_writer(non_blocking)
.with_target(false)
.with_thread_ids(false),
)
.init();
guard
}