1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30
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(()) }