mirror of
https://github.com/chatmail/core.git
synced 2026-04-17 13:36:30 +03:00
54 lines
1.5 KiB
Rust
54 lines
1.5 KiB
Rust
//! # Logging macros
|
|
|
|
#[macro_export]
|
|
macro_rules! info {
|
|
($ctx:expr, $msg:expr) => {
|
|
info!($ctx, $msg,)
|
|
};
|
|
($ctx:expr, $msg:expr, $($args:expr),* $(,)?) => {{
|
|
let formatted = format!($msg, $($args),*);
|
|
let thread = ::std::thread::current();
|
|
let full = format!("{thid:?} {file}:{line}: {msg}",
|
|
thid = thread.id(),
|
|
file = file!(),
|
|
line = line!(),
|
|
msg = &formatted);
|
|
emit_event!($ctx, $crate::Event::Info(full));
|
|
}};
|
|
}
|
|
|
|
#[macro_export]
|
|
macro_rules! warn {
|
|
($ctx:expr, $msg:expr) => {
|
|
warn!($ctx, $msg,)
|
|
};
|
|
($ctx:expr, $msg:expr, $($args:expr),* $(,)?) => {{
|
|
let formatted = format!($msg, $($args),*);
|
|
let thread = ::std::thread::current();
|
|
let full = format!("{thid:?} {file}:{line}: {msg}",
|
|
thid = thread.id(),
|
|
file = file!(),
|
|
line = line!(),
|
|
msg = &formatted);
|
|
emit_event!($ctx, $crate::Event::Warning(full));
|
|
}};
|
|
}
|
|
|
|
#[macro_export]
|
|
macro_rules! error {
|
|
($ctx:expr, $msg:expr) => {
|
|
error!($ctx, $msg,)
|
|
};
|
|
($ctx:expr, $msg:expr, $($args:expr),* $(,)?) => {{
|
|
let formatted = format!($msg, $($args),*);
|
|
emit_event!($ctx, $crate::Event::Error(formatted));
|
|
}};
|
|
}
|
|
|
|
#[macro_export]
|
|
macro_rules! emit_event {
|
|
($ctx:expr, $event:expr) => {
|
|
$ctx.call_cb($event);
|
|
};
|
|
}
|