slog 2.8.2

Structured, extensible, composable logging for Rust
Documentation
//#![feature(trace_macros)]
use slog::prelude::*;

mod common;

fn main() {
    let log = Logger::root(
        slog::Fuse(common::PrintlnDrain),
        slog::o!("version" => "2"),
    );

    //trace_macros!(true);
    info!(log, "foo is {foo}", foo = 2; "a" => "b");
    info!(log, "foo is {foo} {bar}", bar=3, foo = 2; "a" => "b");
    info!(log, "foo is {foo} {bar} {baz}", bar=3, foo = 2, baz=4; "a" => "b");
    info!(log, "foo is {foo} {bar} {baz}", bar = 3, foo = 2, baz = 4;);
    info!(log, "foo is {foo} {bar} {baz}", bar = 3, foo = 2, baz = 4);
    info!(log, "foo is {foo} {bar} {baz}", bar = 3, foo = 2, baz = 4,);
    info!(log, "formatted {num_entries} entries of {}", "something", num_entries = 2; "log-key" => true);
    info!(log, "{first} {third} {second}", first = 1, second = 2, third=3; "forth" => 4, "fifth" => 5);
}