flexi_logger 0.18.0

An easy-to-configure and flexible logger that writes logs to stderr and/or to files. It allows custom logline formats, and it allows changing the log specification at runtime. It also allows defining additional log streams, e.g. for alert or security messages.
Documentation
use log::*;

#[test]
fn you_must_see_exactly_three_messages_above_1_err_1_warn_1_info() {
    flexi_logger::Logger::try_with_str("info")
        .unwrap()
        .start()
        .unwrap();

    error!("This is an error message");
    warn!("This is a warning");
    info!("This is an info message");
    debug!("This is a debug message - you must not see it!");
    trace!("This is a trace message - you must not see it!");
}