#logger

sloggers

This library provides frequently used slog loggers and convenient functions

31 releases (7 stable)

2.1.1 Nov 15, 2021
2.0.2 Aug 15, 2021
2.0.1 Jul 3, 2021
1.1.0 May 30, 2021
0.2.0 Jun 15, 2017

#458 in Rust patterns

Download history 5823/week @ 2022-08-14 5479/week @ 2022-08-21 5513/week @ 2022-08-28 4855/week @ 2022-09-04 4719/week @ 2022-09-11 5166/week @ 2022-09-18 4793/week @ 2022-09-25 4547/week @ 2022-10-02 2715/week @ 2022-10-09 3527/week @ 2022-10-16 3688/week @ 2022-10-23 4058/week @ 2022-10-30 5331/week @ 2022-11-06 5268/week @ 2022-11-13 3935/week @ 2022-11-20 5282/week @ 2022-11-27

20,125 downloads per month
Used in 31 crates (26 directly)

MIT license

135KB
2.5K SLoC

sloggers - convenience library for slog

Crates.io: sloggers Documentation Actions Status Coverage Status License: MIT Gitter: slog

sloggers provides frequently used slog loggers and convenient functions.

Documentation

Join gitter for help


lib.rs:

This crate provides frequently used slog loggers and convenient functions.

Important note: this crate is optimized for performance rather than for not losing any messages! This may be surprising in some common scenarios, like logging an error message and calling std::process::exit(1). It's recommended to drop the logger(s) before exiting. panic = "abort" may have the same surprising effect, so unwinding is preferrable if you want to avoid losing the messages. See #29 for more information.

Examples

Creates a logger via TerminalLoggerBuilder:

use slog::info;
use sloggers::Build;
use sloggers::terminal::{TerminalLoggerBuilder, Destination};
use sloggers::types::Severity;

let mut builder = TerminalLoggerBuilder::new();
builder.level(Severity::Debug);
builder.destination(Destination::Stderr);

let logger = builder.build().unwrap();
info!(logger, "Hello World!");

Creates a logger from configuration text (TOML):

use slog::info;
use sloggers::{Config, LoggerConfig};

let config: LoggerConfig = serdeconv::from_toml_str(r#"
type = "terminal"
level = "debug"
destination = "stderr"
"#).unwrap();

let logger = config.build_logger().unwrap();
info!(logger, "Hello World!");

Dependencies

~4–5.5MB
~113K SLoC