use crate::config::Config;
use tracing_appender::rolling;
use tracing_subscriber::{EnvFilter, fmt, prelude::*};
use tracing_appender::non_blocking::WorkerGuard;
pub fn init_logging(config: &Config) -> Option<WorkerGuard> {
let env_filter = EnvFilter::try_from_default_env().unwrap_or_else(|_| EnvFilter::new("info"));
if config.log_to_file {
let file_appender = rolling::daily(&config.log_dir, "vulnera-advisor.log");
let (non_blocking, guard) = tracing_appender::non_blocking(file_appender);
tracing_subscriber::registry()
.with(env_filter)
.with(fmt::layer().with_writer(non_blocking).with_ansi(false))
.init();
Some(guard)
} else {
fmt()
.with_env_filter(env_filter)
.with_target(false) .init();
None
}
}