macro_rules! log_with_level {
($cat:expr, $level:expr, obj = $obj:expr, $msg:literal) => { ... };
($cat:expr, $level:expr, obj = $obj:expr, $($args:tt)*) => { ... };
($cat:expr, $level:expr, imp = $imp:expr, $msg:literal) => { ... };
($cat:expr, $level:expr, imp = $imp:expr, $($args:tt)*) => { ... };
($cat:expr, $level:expr, id = $id:literal, $msg:literal) => { ... };
($cat:expr, $level:expr, id = $id:literal, $($args:tt)*) => { ... };
($cat:expr, $level:expr, id = $id:expr, $msg:literal) => { ... };
($cat:expr, $level:expr, id = $id:expr, $($args:tt)*) => { ... };
($cat:expr, $level:expr, $msg:literal) => { ... };
($cat:expr, $level:expr, $($args:tt)*) => { ... };
}