[][src]Macro tari_common::log_if_error

macro_rules! log_if_error {
    (level:$level:tt, target: $target:expr, $msg:expr, $expr:expr $(,)*) => { ... };
    (level:$level:tt, $msg:expr, $expr:expr $(,)*) => { ... };
    (target: $target:expr, $msg:expr, $expr:expr $(,)*) => { ... };
    ($msg:expr, $expr:expr $(,)*) => { ... };
}

Log an error if an Err is returned from the $expr. If the given expression is Ok(v), Some(v) is returned, otherwise None is returned (same as Result::ok). Useful in cases where the error should be logged and ignored. instead of writing if let Err(err) = my_error_call() { error!(...) }, you can write log_if_error!(my_error_call())

let opt = log_if_error!(level: debug, target: "docs", "Error sending reply: {}", Result::<(), _>::Err("this will be logged"));
assert_eq!(opt, None);