Crate slog_glog_fmt

Source
Expand description

§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
logger_that_can_work_in_tests
If you set this as the root logger at the start of your tests you will actually see log lines for failed tests. It looks the same as facebook_logger. Note: this may not show logs from threads not under the test runner https://docs.rs/slog-term/2.8.0/slog_term/struct.TestStdoutWriter.html#note