#[macro_export]
#[doc(hidden)]
#[cfg(not(feature = "std-log"))]
macro_rules! try_log {
(target: $target:expr, $lvl:expr, $($arg:tt)+) => ({
let lvl = $lvl;
if lvl <= $crate::log::STATIC_MAX_LEVEL && lvl <= $crate::log::max_level() {
$crate::__private_api_try_log(
::core::format_args!($($arg)+),
lvl,
&($target, ::core::module_path!(), ::core::file!(), ::core::line!()),
)
} else {
Ok(())
}
});
($lvl:expr, $($arg:tt)+) => ($crate::try_log!(target: ::core::module_path!(), $lvl, $($arg)+))
}
#[macro_export]
#[doc(hidden)]
#[cfg(feature = "std-log")]
macro_rules! try_log {
(target: $target:expr, $lvl:expr, $($arg:tt)+) => ({
$crate::log::log!(target: $target, $lvl, $($arg)+);
::core::result::Result::<(), ()>::Ok(())
});
($lvl:expr, $($arg:tt)+) => ({
$crate::log::log!($lvl, $($arg)+);
::core::result::Result::<(), ()>::Ok(())
});
}
#[macro_export]
#[doc(hidden)]
macro_rules! with_dollar_sign {
($($body:tt)*) => {
macro_rules! __with_dollar_sign { $($body)* }
__with_dollar_sign!($);
}
}
#[macro_export]
macro_rules! generate_macros {
() => {
$crate::with_dollar_sign! {
($d:tt) => {
#[cfg(all(any(feature = "log-all", feature = "log-debug"), not(feature = "log-none")))]
#[macro_use] #[macro_export]
#[doc(hidden)]
macro_rules! try_debug {
(target: $target:expr, $d($arg:tt)+) => (
$crate::try_log!(target: $target, $crate::Level::Debug, $d($arg)+)
);
($d($arg:tt)+) => (
$crate::try_log!($crate::Level::Debug, $d($arg)+)
);
}
#[cfg(not(all(any(feature = "log-all", feature = "log-debug"), not(feature = "log-none"))))]
#[macro_use] #[macro_export]
#[doc(hidden)]
macro_rules! try_debug {
($d($arg:tt)+) => ( core::result::Result::<(), ()>::Ok(()) );
}
#[cfg(all(any(feature = "log-all", feature = "log-error"), not(feature = "log-none")))]
#[macro_use] #[macro_export]
#[doc(hidden)]
macro_rules! try_error {
(target: $target:expr, $d($arg:tt)+) => (
$crate::try_log!(target: $target, $crate::Level::Error, $d($arg)+)
);
($d($arg:tt)+) => (
$crate::try_log!($crate::Level::Error, $d($arg)+)
);
}
#[cfg(not(all(any(feature = "log-all", feature = "log-error"), not(feature = "log-none"))))]
#[macro_use] #[macro_export]
#[doc(hidden)]
macro_rules! try_error {
($d($arg:tt)+) => ( core::result::Result::<(), ()>::Ok(()) );
}
#[cfg(all(any(feature = "log-all", feature = "log-info"), not(feature = "log-none")))]
#[macro_use] #[macro_export]
#[doc(hidden)]
macro_rules! try_info {
(target: $target:expr, $d($arg:tt)+) => (
$crate::try_log!(target: $target, $crate::Level::Info, $d($arg)+)
);
($d($arg:tt)+) => (
$crate::try_log!($crate::Level::Info, $d($arg)+)
);
}
#[cfg(not(all(any(feature = "log-all", feature = "log-info"), not(feature = "log-none"))))]
#[macro_use] #[macro_export]
#[doc(hidden)]
macro_rules! try_info {
($d($arg:tt)+) => ( core::result::Result::<(), ()>::Ok(()) );
}
#[cfg(all(any(feature = "log-all", feature = "log-trace"), not(feature = "log-none")))]
#[macro_use] #[macro_export]
#[doc(hidden)]
macro_rules! try_trace {
(target: $target:expr, $d($arg:tt)+) => (
$crate::try_log!(target: $target, $crate::Level::Trace, $d($arg)+)
);
($d($arg:tt)+) => (
$crate::try_log!($crate::Level::Trace, $d($arg)+)
);
}
#[cfg(not(all(any(feature = "log-all", feature = "log-trace"), not(feature = "log-none"))))]
#[macro_use] #[macro_export]
#[doc(hidden)]
macro_rules! try_trace {
(target: $target:expr, $d($arg:tt)+) => ( core::result::Result::<(), ()>::Ok(()) );
($d($arg:tt)+) => ( core::result::Result::<(), ()>::Ok(()) );
}
#[cfg(all(any(feature = "log-all", feature = "log-warn"), not(feature = "log-none")))]
#[macro_use] #[macro_export]
#[doc(hidden)]
macro_rules! try_warn {
(target: $target:expr, $d($arg:tt)+) => (
$crate::try_log!(target: $target, $crate::Level::Warn, $d($arg)+)
);
($d($arg:tt)+) => (
$crate::try_log!($crate::Level::Warn, $d($arg)+)
);
}
#[cfg(not(all(any(feature = "log-all", feature = "log-warn"), not(feature = "log-none"))))]
#[macro_use] #[macro_export]
#[doc(hidden)]
macro_rules! try_warn {
(target: $target:expr, $d($arg:tt)+) => ( core::result::Result::<(), ()>::Ok(()) );
($d($arg:tt)+) => ( core::result::Result::<(), ()>::Ok(()) );
}
#[cfg(not(feature = "log-none"))]
#[macro_use] #[macro_export]
#[doc(hidden)]
macro_rules! log {
(target: $target:expr, $d($arg:tt)+) => ( $crate::try_log!(target: $target, $d($arg)+).ok() );
($d($arg:tt)+) => ( $crate::try_log!($d($arg)+).ok() );
}
#[cfg(feature = "log-none")]
#[macro_use] #[macro_export]
#[doc(hidden)]
macro_rules! log {
($d($arg:tt)+) => ( core::result::Result::<(), ()>::Ok(()) );
}
#[macro_use] #[macro_export]
#[doc(hidden)]
macro_rules! debug { ($d($arg:tt)+) => ( try_debug!($d($arg)+).ok() ); }
#[macro_use] #[macro_export]
#[doc(hidden)]
macro_rules! error { ($d($arg:tt)+) => ( try_error!($d($arg)+).ok() ); }
#[macro_use] #[macro_export]
#[doc(hidden)]
macro_rules! info { ($d($arg:tt)+) => ( try_info!($d($arg)+).ok() ); }
#[macro_use] #[macro_export]
#[doc(hidden)]
macro_rules! trace { ($d($arg:tt)+) => ( try_trace!($d($arg)+).ok() ); }
#[macro_use] #[macro_export]
#[doc(hidden)]
macro_rules! warn { ($d($arg:tt)+) => ( try_warn!($d($arg)+).ok() ); }
#[macro_use] #[macro_export]
#[doc(hidden)]
macro_rules! log_now {
($lvl:expr, $d($arg:tt)+) => ( log!(target: "!", $lvl, $d($arg)+) );
}
#[macro_use] #[macro_export]
#[doc(hidden)]
macro_rules! debug_now { ($d($arg:tt)+) => ( debug!(target: "!", $d($arg)+) ); }
#[macro_use] #[macro_export]
#[doc(hidden)]
macro_rules! error_now { ($d($arg:tt)+) => ( error!(target: "!", $d($arg)+) ); }
#[macro_use] #[macro_export]
#[doc(hidden)]
macro_rules! info_now { ($d($arg:tt)+) => ( info!(target: "!", $d($arg)+) ); }
#[macro_use] #[macro_export]
#[doc(hidden)]
macro_rules! trace_now { ($d($arg:tt)+) => ( trace!(target: "!", $d($arg)+) ); }
#[macro_use] #[macro_export]
#[doc(hidden)]
macro_rules! warn_now { ($d($arg:tt)+) => ( warn!(target: "!", $d($arg)+) ); }
#[macro_use] #[macro_export]
#[doc(hidden)]
macro_rules! try_log_now {
($lvl:expr, $d($arg:tt)+) => ( try_log!(target: "!", $lvl, $d($arg)+) );
}
#[macro_use] #[macro_export]
#[doc(hidden)]
macro_rules! try_debug_now { ($d($arg:tt)+) => ( try_debug!(target: "!", $d($arg)+) ); }
#[macro_use] #[macro_export]
#[doc(hidden)]
macro_rules! try_error_now { ($d($arg:tt)+) => ( try_error!(target: "!", $d($arg)+) ); }
#[macro_use] #[macro_export]
#[doc(hidden)]
macro_rules! try_info_now { ($d($arg:tt)+) => ( try_info!(target: "!", $d($arg)+) ); }
#[macro_use] #[macro_export]
#[doc(hidden)]
macro_rules! try_trace_now { ($d($arg:tt)+) => ( try_trace!(target: "!", $d($arg)+) ); }
#[macro_use] #[macro_export]
#[doc(hidden)]
macro_rules! try_warn_now { ($d($arg:tt)+) => ( try_warn!(target: "!", $d($arg)+) ); }
}
}
}
}