menmos-xecute 0.0.8

Menmos entrypoint library
Documentation
use std::path::PathBuf;

use anyhow::Result;

use log::LevelFilter;

use log4rs::append::console::ConsoleAppender;
use log4rs::config::{Appender, Config, Root};

fn get_default_config() -> Result<Config> {
    let stdout = ConsoleAppender::builder().build();
    let config = Config::builder()
        .appender(Appender::builder().build("stdout", Box::new(stdout)))
        .build(Root::builder().appender("stdout").build(LevelFilter::Info))?;
    Ok(config)
}

pub fn init_logger(log_cfg_path: &Option<PathBuf>) -> Result<()> {
    match &log_cfg_path {
        Some(log_path) => {
            log4rs::init_file(log_path, Default::default())?;
        }
        None => {
            let config = get_default_config()?;
            log4rs::init_config(config)?;
        }
    };

    Ok(())
}