27 releases (11 stable)

4.1.1 Mar 23, 2022
4.1.0 Oct 22, 2020
4.0.0 Aug 13, 2019
3.0.5 Jul 24, 2019
0.6.0 Jul 19, 2016

#502 in Encoding

Download history 40804/week @ 2023-11-02 37557/week @ 2023-11-09 42239/week @ 2023-11-16 36469/week @ 2023-11-23 40259/week @ 2023-11-30 42586/week @ 2023-12-07 36423/week @ 2023-12-14 20585/week @ 2023-12-21 21820/week @ 2023-12-28 40787/week @ 2024-01-04 32483/week @ 2024-01-11 36839/week @ 2024-01-18 41491/week @ 2024-01-25 42195/week @ 2024-02-01 39652/week @ 2024-02-08 37495/week @ 2024-02-15

168,276 downloads per month
Used in 162 crates (63 directly)

MPL-2.0 OR MIT OR Apache-2.0

168 lines

Travis CI Build Status slog-stdlog on crates.io slog-rs Gitter Chat Minimum Rust Version 1.38

slog-stdlog - log crate adapter for slog-rs

See slog-stdlog documentation for details.

For more information, help, to report issues etc. see slog-rs.


log crate adapter for slog-rs

This crate provides two way compatibility with Rust standard log crate.

log -> slog

After calling init() slog-stdlog will take a role of log crate back-end, forwarding all the log logging to slog_scope::logger(). In other words, any log crate logging statement will behave like it was slog logging statement executed with logger returned by slog_scope::logger().

See documentation of slog-scope for more information about logging scopes.

See init documentation for an example.

slog -> log

StdLog is slog::Drain that will pass all Records passing through it to log crate just like they were crated with log crate logging macros in the first place.


Since log does not have any form of context, and does not support Logger slog-stdlog relies on "logging scopes" to establish it.

You must set up logging context for log -> slog via slog_scope::scope or slog_scope::set_global_logger. Setting a global logger upfront via slog_scope::set_global_logger is highly recommended.

Note: Since slog-stdlog v2, unlike previous releases, slog-stdlog uses logging scopes provided by slog-scope crate instead of it's own.

Refer to slog-scope crate documentation for more information.


Be careful when using both methods at the same time, as a loop can be easily created: log -> slog -> log -> ...

Compile-time log level filtering

For filtering debug! and other log statements at compile-time, configure the features on the log crate in your Cargo.toml:

log = { version = "*", features = ["max_level_trace", "release_max_level_warn"] }