#[macro_export]
macro_rules! log {
(target: $target:expr, $lvl:expr, $($arg:tt)+) => ({
use lunatic::process::Message;
if let Some(proc) = $crate::__lookup_logging_process() {
let metadata = $crate::Metadata::new(
concat!(
"event ",
file!(),
":",
line!()
).to_string(),
$target.into(),
$lvl,
Some(module_path!().to_string()),
Some(file!().to_string()),
Some(line!()),
);
let message = format!($($arg)+);
let event = $crate::Event::new(message, metadata);
proc.send(event)
}
});
($lvl:expr, $($arg:tt)+) => ($crate::log!(target: module_path!(), $lvl, $($arg)+));
}
#[macro_export(local_inner_macros)]
macro_rules! error {
(target: $target:expr, $($arg:tt)+) => (log!(target: $target, $crate::Level::Error, $($arg)+));
($($arg:tt)+) => (log!($crate::Level::Error, $($arg)+))
}
#[macro_export(local_inner_macros)]
macro_rules! warn {
(target: $target:expr, $($arg:tt)+) => (log!(target: $target, $crate::Level::Warn, $($arg)+));
($($arg:tt)+) => (log!($crate::Level::Warn, $($arg)+))
}
#[macro_export(local_inner_macros)]
macro_rules! info {
(target: $target:expr, $($arg:tt)+) => (log!(target: $target, $crate::Level::Info, $($arg)+));
($($arg:tt)+) => (log!($crate::Level::Info, $($arg)+))
}
#[macro_export(local_inner_macros)]
macro_rules! debug {
(target: $target:expr, $($arg:tt)+) => (log!(target: $target, $crate::Level::Debug, $($arg)+));
($($arg:tt)+) => (log!($crate::Level::Debug, $($arg)+))
}
#[macro_export(local_inner_macros)]
macro_rules! trace {
(target: $target:expr, $($arg:tt)+) => (log!(target: $target, $crate::Level::Trace, $($arg)+));
($($arg:tt)+) => (log!($crate::Level::Trace, $($arg)+))
}