macro_rules! event {
(level: $level:expr, target: $target:expr, $message:expr; $($key:literal => $value:expr),* $(,)?) => { ... };
(level: $level:expr, target: $target:expr, $message:expr $(,)?) => { ... };
($message:expr; $($key:literal => $value:expr),* $(,)?) => { ... };
($message:expr $(,)?) => { ... };
}