Macro slog::log
[−]
[src]
macro_rules! log { ($l:expr, $lvl:expr, $tag:expr, $($k:expr => $v:expr),+; $($args:tt)+ ) => { ... }; ($l:expr, $lvl:expr, $tag:expr, $msg:expr,) => { ... }; ($l:expr, $lvl:expr, $tag:expr, $msg:expr) => { ... }; ($l:expr, $lvl:expr, $tag:expr, $msg:expr; $($k:expr => $v:expr),+,) => { ... }; ($l:expr, $lvl:expr, $tag:expr, $msg:expr; $($k:expr => $v:expr),+) => { ... }; ($l:expr, $lvl:expr, $tag:expr, $($args:tt)+) => { ... }; }
Log message a logging record
Use wrappers error!
, warn!
etc. instead
The max_level_*
and release_max_level*
cargo features can be used to
statically disable logging at various levels. See slog notable
details
Use version with longer name if you want to prevent clash
with legacy log
crate macro names.
Supported invocations
Simple
#[macro_use] extern crate slog; fn main() { let drain = slog::Discard; let root = slog::Logger::root(drain, o!("key1" => "value1", "key2" => "value2")); info!(root, "test info log"; "log-key" => true); }
Note that "key" => value
part is optional:
#[macro_use] extern crate slog; fn main() { let drain = slog::Discard; let root = slog::Logger::root(drain, o!("key1" => "value1", "key2" => "value2")); info!(root, "test info log"); }
fmt::Arguments
support:
#[macro_use] extern crate slog; fn main() { let drain = slog::Discard; let root = slog::Logger::root(drain, o!("key1" => "value1", "key2" => "value2")); info!(root, "log-key" => true; "formatted: {}", 1); }
Note that due to macro parsing limitation, the message was moved after the key-value pairs.
Again, "key" => value
part is optional:
#[macro_use] extern crate slog; fn main() { let drain = slog::Discard; let root = slog::Logger::root(drain, o!("key1" => "value1", "key2" => "value2")); info!(root, "formatted: {}", 1); }