Macro cocaine::cocaine_log [−][src]
macro_rules! cocaine_log { (__unwrap # {}) => { ... }; (__unwrap # {$($name:ident: $val:expr,)+}) => { ... }; (__execute # {$($args:tt)*}, $src:expr, $sev:expr, $fmt:expr, {$($name:ident: $val:expr,)*}) => { ... }; (__split # {$($args:tt)*}, $src:expr, $sev:expr, $fmt:expr, ; {$($name:ident: $val:expr,)*}) => { ... }; (__split # {$($args:tt)*}, $src:expr, $sev:expr, $fmt:expr, $arg:tt $($kwargs:tt)*) => { ... }; (__split # {$($args:tt)*}, $src:expr, $sev:expr, $fmt:expr; {$($name:ident: $val:expr,)*}) => { ... }; (__split # {$($args:tt)*}, $src:expr, $sev:expr, $fmt:expr,) => { ... }; (__split # {$($args:tt)*}, $src:expr, $sev:expr, $fmt:expr) => { ... }; (__test # $src:expr, $sev:expr, $($args:tt)*) => { ... }; ($log:expr, $sev:expr, $($args:tt)*) => { ... }; }
Logs a message using logger into the Logging Service.
This macro supports the standard lazy formatting using format!
with all its compile-time type
and positional checking.
Since Cocaine Logging is a structured logger, additional attributes can be attached to an event.
Examples.
#[macro_use] extern crate cocaine; use cocaine::logging::{LoggerContext, Severity}; let ctx = LoggerContext::default(); let log = ctx.create("app/example"); cocaine_log!(log, Severity::Info, "nginx/1.6 configured"); cocaine_log!(log, Severity::Info, "{} {} HTTP/1.1 {} {}", "GET", "/static/image.png", 404, 347);
You can additionally attach any number of key-value attributes:
#[macro_use] extern crate cocaine; use cocaine::logging::{LoggerContext, Severity}; let ctx = LoggerContext::default(); let log = ctx.create("app/example"); cocaine_log!(log, Severity::Info, "nginx/1.6 configured"; { config: "/etc/nginx/nginx.conf", elapsed: 42.15, }); cocaine_log!(log, Severity::Warn, "client stopped connection before send body completed"; { host: "::1", port: 10053, }); cocaine_log!(log, Severity::Error, "file does not exist: {}", "/var/www/favicon.ico"; { path: "/", cache: true, method: "GET", version: 1.1, protocol: "HTTP", });