[][src]Crate slog_stdlog

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"] }



Drain logging Records into log crate



Register slog-stdlog as log backend.


Register slog-stdlog as log backend. Pass a log::LogLevel to do the log filter explicitly.