1#[allow(unused_imports)]
2use log::{debug, error, info, trace, warn};
3
4pub fn setup_logger() -> Result<(), fern::InitError> {
5 let termite_path = format!("termite_{}.log", chrono::Local::now().format("%Y-%m-%d"));
6 fern::Dispatch::new()
7 .format(|out, message, record| {
8 out.finish(format_args!(
9 "{}[{}][{}][{}] {}",
10 chrono::Local::now().format("[%Y-%m-%d][%H:%M:%S]"),
11 record.level(),
12 record.target(),
13 record.line().unwrap_or(0),
14 message
15 ))
16 })
17 .level(log::LevelFilter::Warn)
18 .chain(std::io::stdout())
19 .chain(fern::log_file(termite_path)?)
20 .apply()?;
21
22 info!("Logger setup complete.");
23 Ok(())
24}