slog 1.0.0-alpha2

Structured, composable logging for Rust
Documentation
#[macro_use]
extern crate slog;
extern crate slog_term;
extern crate slog_stdlog;
#[macro_use]
extern crate log;

fn bar() {
    info!("inside bar!");

}
fn foo() {
    info!("inside foo!");

    slog_stdlog::scope(
        slog_stdlog::with_current_logger(|l| l.new(o!("subfunction2" => "bar"))),
        || bar()
    )
}

fn main() {
    let log = slog::Logger::root(slog_term::stderr(), o!("version" => "0.5"));
    slog_stdlog::set_logger(log.clone()).unwrap();

    info!("standard logging redirected to slog");

    slog_stdlog::scope(
        slog_stdlog::with_current_logger(|l| l.new(o!("subfunction" => "foo"))),
        || {
            info!("entering foo!");
            foo();
            info!("left foo!");
        }
    )
}