Expand description
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.
§slog-scope
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.
§Warning
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"] }Structs§
- StdLog
- Drain logging
Records intologcrate
Functions§
- init
- Register
slog-stdlogaslogbackend. - init_
with_ level - Register
slog-stdlogaslogbackend. Pass a log::Level to do the log filter explicitly.