#logger #log #logging #log-messages

multi_log

Logger which passes messages on to any number of other loggers

3 releases

Uses old Rust 2015

0.1.2 Mar 19, 2018
0.1.1 Mar 19, 2018
0.1.0 Mar 19, 2018

#65 in #log-messages

Download history 372/week @ 2023-11-26 312/week @ 2023-12-03 448/week @ 2023-12-10 197/week @ 2023-12-17 122/week @ 2023-12-24 123/week @ 2023-12-31 276/week @ 2024-01-07 494/week @ 2024-01-14 576/week @ 2024-01-21 770/week @ 2024-01-28 588/week @ 2024-02-04 531/week @ 2024-02-11 472/week @ 2024-02-18 444/week @ 2024-02-25 447/week @ 2024-03-03 315/week @ 2024-03-10

1,707 downloads per month
Used in 3 crates

MIT license

8KB
75 lines

multi_log

A Rust library providing a logger which passes messages on to multiple loggers from a single log call.

Usage

Create a multi_log::MultiLogger that wraps any number of loggers that implement the log::Log trait.

Logging to all these can then be performed using the log crate's macros (debug!, info!, 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.");
}

Dependencies

~87KB