1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21
use yaml_rust::{Yaml, YamlEmitter}; use log4rs; #[derive(Debug)] pub struct LoggingConfig; impl LoggingConfig { pub fn config_logging(config_yaml: &Yaml) -> log4rs::config::Config { let mut log_config_buf = String::new(); { let mut log_emitter = YamlEmitter::new(&mut log_config_buf); let _ = log_emitter.dump(&config_yaml["logging"]).unwrap(); } let log_config_str = log_config_buf.as_str(); let log_config = log4rs::file::Config::parse(log_config_str, log4rs::file::Format::Yaml, &log4rs::file::Deserializers::default()) .unwrap(); log_config.into_config() } }