4 releases

0.1.3 Jan 13, 2021
0.1.2 Jan 12, 2021
0.1.1 Jan 11, 2021
0.1.0 Oct 23, 2020

#26 in #slog

MIT/Apache

63KB
1.5K SLoC

A slog Drain for glog-formatted logs.

Usage

For simple programs where you need glog-formatted logs to standard error, use the logger convenience function to create your logger:

use slog::info;

fn main() {
    let log = slog_glog_fmt::facebook_logger().unwrap();
    info!(log, "glog-formatted logs available");
}

For more complicated scenarios, create a GlogFormat instance using a normal slog-term decorator, and use that to construct the root Logger instance. You can combine the GlogFormat drain with other drains in the usual way. The KVCategorizer controls how the KV values should be printed.

use std::sync::Mutex;
use slog::{debug, o, Drain, Logger};
use slog_glog_fmt::kv_categorizer::InlineCategorizer;

pub fn main() {
    let decorator = slog_term::TermDecorator::new().build();
    let drain = slog_glog_fmt::GlogFormat::new(decorator, InlineCategorizer).fuse();
    let drain = Mutex::new(drain).fuse();
    let log = Logger::root(drain, o!());
    debug!(log, "Custom logger built.");
}

Dependencies

~4.5MB
~89K SLoC