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 Record
s 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§
- Drain logging
Record
s intolog
crate
Functions§
- Register
slog-stdlog
aslog
backend. - Register
slog-stdlog
aslog
backend. Pass a log::Level to do the log filter explicitly.