# multi\_log # A Rust library providing a logger which passes messages on to multiple loggers from a single log call. * [`multi_log` documentation](https://docs.rs/multi_log/) ## Usage ## Create a `multi_log::MultiLogger` that wraps any number of loggers that implement the [`log::Log`](https://docs.rs/log/0.4.1/log/trait.Log.html) trait. Logging to all these can then be performed using the `log` crate's macros ([`debug!`](https://docs.rs/log/0.4.1/log/macro.debug.html), [`info!`](https://docs.rs/log/0.4.1/log/macro.info.html), etc.). ## Example ## #[macro_use] extern crate log; extern crate env_logger; extern crate simplelog; extern crate multi_log; fn main() { // create a new logger from the `env_logger` crate let logger_a = Box::new(env_logger::Builder::new().filter(None, log::LevelFilter::Info).build()); // create a new logger from the `simplelog` crate let logger_b = simplelog::SimpleLogger::new(log::LevelFilter::Warn, simplelog::Config::default()); // wrap them both in a MultiLogger, and initialise as global logger multi_log::MultiLogger::init(vec![logger_a, logger_b], log::Level::Info).unwrap(); warn!("This message should be logged with each logger."); }