[][src]Crate slog_glog_fmt

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.");
}

Modules

collector_serializer

Provides CollectorSerializer. See it's documentation for more help

kv_categorizer

Provides ways to control how the KV values passed to slog macros are printed

kv_defaults

Module defining FacebookKV structure that should be used by all Facebook services

Structs

GlogFormat

A slog Drain for glog-formatted logs.

Functions

default_drain

Create a default drain that outputs to stderr and inlines all KV values except for supported error_chain errors.

facebook_logger

Create a default root logger for Facebook services