kyanite 0.5.1

A modular, expandable, gallery collector.
use log::{debug, info};

pub struct KyaniteLogger;

impl KyaniteLogger {
    pub fn init(verbose: bool) -> anyhow::Result<()> {
        let log_level = if verbose {
            log::LevelFilter::Debug
        } else {
            log::LevelFilter::Info
        };
        fern::Dispatch::new()
            .format(|out, message, record| {
                out.finish(format_args!(
                    "[{} | {} | {}] {}",
                    record.level(),
                    chrono::Local::now().format("%Y-%m-%d %H:%M:%S.%3f"),
                    record.target(),
                    message
                ))
            })
            .level(log_level)
            .chain(std::io::stdout())
            .apply()?;
        info!("Logger initialized!");
        debug!("Logging level set to debug verbosity.");
        Ok(())
    }
}