33 releases (9 stable)
2.2.0 | Jan 27, 2024 |
---|---|
2.1.2 | Aug 18, 2023 |
2.1.1 | Nov 15, 2021 |
2.0.1 | Jul 3, 2021 |
0.2.0 | Jun 15, 2017 |
#80 in Debugging
17,069 downloads per month
Used in 32 crates
(27 directly)
135KB
2.5K
SLoC
sloggers - convenience library for slog
sloggers
provides frequently used slog loggers and convenient functions.
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
~8–17MB
~213K SLoC