logging refactor
This commit is contained in:
181
veilid-core/src/xx/log_thru.rs
Normal file
181
veilid-core/src/xx/log_thru.rs
Normal file
@@ -0,0 +1,181 @@
|
||||
pub fn map_to_string<X: ToString>(arg: X) -> String {
|
||||
arg.to_string()
|
||||
}
|
||||
|
||||
/*
|
||||
trait LogThru<T, E> {
|
||||
fn log_thru<F, O: FnOnce(E) -> F>(self, op: O) -> Result<T, F>;
|
||||
}
|
||||
|
||||
impl<T, E> LogThru<T, E> for Result<T, E> {
|
||||
fn log_thru<F, O: FnOnce(E) -> F>(self, op: O) -> Result<T, F> {
|
||||
match self {
|
||||
Ok(t) => Ok(t),
|
||||
Err(e) => Err(op(e)),
|
||||
}
|
||||
}
|
||||
}
|
||||
*/
|
||||
|
||||
#[macro_export]
|
||||
macro_rules! fn_string {
|
||||
($text:expr) => {
|
||||
|| $text.to_string()
|
||||
};
|
||||
}
|
||||
|
||||
#[macro_export]
|
||||
macro_rules! log_net {
|
||||
(error $text:expr) => {error!(
|
||||
target: "net",
|
||||
"{}",
|
||||
$text,
|
||||
)};
|
||||
(error $fmt:literal, $($arg:expr)+) => {
|
||||
error!(target:"net", $fmt, $($arg)+);
|
||||
};
|
||||
($text:expr) => {trace!(
|
||||
target: "net",
|
||||
"{}",
|
||||
$text,
|
||||
)};
|
||||
($fmt:literal, $($arg:expr)+) => {
|
||||
trace!(target:"net", $fmt, $($arg)+);
|
||||
}
|
||||
}
|
||||
|
||||
#[macro_export]
|
||||
macro_rules! log_rpc {
|
||||
(error $text:expr) => { error!(
|
||||
target: "rpc",
|
||||
"{}",
|
||||
$text,
|
||||
)};
|
||||
(error $fmt:literal, $($arg:expr)+) => {
|
||||
error!(target:"rpc", $fmt, $($arg)+);
|
||||
};
|
||||
($text:expr) => {trace!(
|
||||
target: "rpc",
|
||||
"{}",
|
||||
$text,
|
||||
)};
|
||||
($fmt:literal, $($arg:expr)+) => {
|
||||
trace!(target:"rpc", $fmt, $($arg)+);
|
||||
}
|
||||
}
|
||||
|
||||
#[macro_export]
|
||||
macro_rules! log_rtab {
|
||||
(error $text:expr) => { error!(
|
||||
target: "rtab",
|
||||
"{}",
|
||||
$text,
|
||||
)};
|
||||
(error $fmt:literal, $($arg:expr)+) => {
|
||||
error!(target:"rtab", $fmt, $($arg)+);
|
||||
};
|
||||
($text:expr) => {trace!(
|
||||
target: "rtab",
|
||||
"{}",
|
||||
$text,
|
||||
)};
|
||||
($fmt:literal, $($arg:expr)+) => {
|
||||
trace!(target:"rtab", $fmt, $($arg)+);
|
||||
}
|
||||
}
|
||||
|
||||
#[macro_export]
|
||||
macro_rules! logthru_net {
|
||||
($($level:ident)?) => {
|
||||
logthru!($($level)? "net")
|
||||
};
|
||||
($($level:ident)? $text:literal) => {
|
||||
logthru!($($level)? "net", $text)
|
||||
};
|
||||
($($level:ident)? $fmt:literal, $($arg:expr)+) => {
|
||||
logthru!($($level)? "net", $fmt, $($arg)+)
|
||||
}
|
||||
}
|
||||
#[macro_export]
|
||||
macro_rules! logthru_rpc {
|
||||
($($level:ident)?) => {
|
||||
logthru!($($level)? "rpc")
|
||||
};
|
||||
($($level:ident)? $text:literal) => {
|
||||
logthru!($($level)? "rpc", $text)
|
||||
};
|
||||
($($level:ident)? $fmt:literal, $($arg:expr)+) => {
|
||||
logthru!($($level)? "rpc", $fmt, $($arg)+)
|
||||
}
|
||||
}
|
||||
|
||||
#[macro_export]
|
||||
macro_rules! logthru_rtab {
|
||||
($($level:ident)?) => {
|
||||
logthru!($($level)? "rtab")
|
||||
};
|
||||
($($level:ident)? $text:literal) => {
|
||||
logthru!($($level)? "rtab", $text)
|
||||
};
|
||||
($($level:ident)? $fmt:literal, $($arg:expr)+) => {
|
||||
logthru!($($level)? "rtab", $fmt, $($arg)+)
|
||||
}
|
||||
}
|
||||
|
||||
#[macro_export]
|
||||
macro_rules! logthru {
|
||||
// error
|
||||
(error $target:literal) => (|e__| {
|
||||
error!(
|
||||
target: $target,
|
||||
"[{}]",
|
||||
e__,
|
||||
);
|
||||
e__
|
||||
});
|
||||
(error $target:literal, $text:literal) => (|e__| {
|
||||
error!(
|
||||
target: $target,
|
||||
"[{}] {}",
|
||||
e__,
|
||||
$text
|
||||
);
|
||||
e__
|
||||
});
|
||||
(error $target:literal, $fmt:literal, $($arg:expr)+) => (|e__| {
|
||||
error!(
|
||||
target: $target,
|
||||
concat!("[{}] ", $fmt),
|
||||
e__,
|
||||
$($arg)+
|
||||
);
|
||||
e__
|
||||
});
|
||||
// trace
|
||||
($target:literal) => (|e__| {
|
||||
trace!(
|
||||
target: $target,
|
||||
"[{}]",
|
||||
e__,
|
||||
);
|
||||
e__
|
||||
});
|
||||
($target:literal, $text:literal) => (|e__| {
|
||||
trace!(
|
||||
target: $target,
|
||||
"[{}] {}",
|
||||
e__,
|
||||
$text
|
||||
);
|
||||
e__
|
||||
});
|
||||
($target:literal, $fmt:literal, $($arg:expr)+) => (|e__| {
|
||||
trace!(
|
||||
target: $target,
|
||||
concat!("[{}] ", $fmt),
|
||||
e__,
|
||||
$($arg)+
|
||||
);
|
||||
e__
|
||||
})
|
||||
}
|
||||
@@ -5,6 +5,7 @@ mod eventual_value;
|
||||
mod eventual_value_clone;
|
||||
mod ip_addr_port;
|
||||
mod ip_extra;
|
||||
mod log_thru;
|
||||
mod single_future;
|
||||
mod single_shot_eventual;
|
||||
mod split_url;
|
||||
@@ -13,6 +14,7 @@ mod tools;
|
||||
|
||||
pub use cfg_if::*;
|
||||
pub use log::*;
|
||||
pub use log_thru::*;
|
||||
pub use parking_lot::*;
|
||||
pub use split_url::*;
|
||||
pub use static_assertions::*;
|
||||
|
||||
Reference in New Issue
Block a user