#![allow(unused)]

macro_rules! log {
    (target: $target:expr, $lvl:expr, $($arg:tt)+) => {{
        let _ = $target;
        let _ = log!($lvl, $($arg)+);
    }};
    ($lvl:expr, $($arg:tt)+) => {{
        let _ = $lvl;
        let _ = format_args!($($arg)+);
    }};
}
macro_rules! error {
    (target: $target:expr, $($arg:tt)+) => { log!(target: $target, "", $($arg)+) };
    ($($arg:tt)+) => { log!("", $($arg)+) };
}
macro_rules! warn {
    (target: $target:expr, $($arg:tt)*) => { log!(target: $target, "", $($arg)*) };
    ($($arg:tt)*) => { log!("", $($arg)*) };
}
macro_rules! info {
    (target: $target:expr, $($arg:tt)+) => { log!(target: $target, "", $($arg)+) };
    ($($arg:tt)+) => { log!("", $($arg)+) };
}
macro_rules! debug {
    (target: $target:expr, $($arg:tt)+) => { log!(target: $target, "", $($arg)+) };
    ($($arg:tt)+) => { log!("", $($arg)+) };
}
macro_rules! trace {
    (target: $target:expr, $($arg:tt)+) => { log!(target: $target, "", $($arg)+) };
    ($($arg:tt)+) => { log!("", $($arg)+) };
}

#![allow(unused)]

macro_rules! log {
    (target: $target:expr, $lvl:expr, $($arg:tt)+) => {
        let _ = $target;
        let _ = log!($lvl, $($arg)+);
    }
    ($lvl:expr, $($arg:tt)+) => {
        let _ = $lvl;
        let _ = format_args!($($arg)+);
    }
}
macro_rules! error {
    (target: $target:expr, $($arg:tt)+) => { log!(target: $target, "", $($arg)+); }
    ($($arg:tt)+) => { log!("", $($arg)+); }
}
macro_rules! warn {
    (target: $target:expr, $($arg:tt)*) => { log!(target: $target, "", $($arg)*); }
    ($($arg:tt)*) => { log!("", $($arg)*); }
}
macro_rules! info {
    (target: $target:expr, $($arg:tt)+) => { log!(target: $target, "", $($arg)+); }
    ($($arg:tt)+) => { log!("", $($arg)+); }
}
macro_rules! debug {
    (target: $target:expr, $($arg:tt)+) => { log!(target: $target, "", $($arg)+); }
    ($($arg:tt)+) => { log!("", $($arg)+); }
}
macro_rules! trace {
    (target: $target:expr, $($arg:tt)+) => { log!(target: $target, "", $($arg)+); }
    ($($arg:tt)+) => { log!("", $($arg)+); }
}

--- 
+++ 
@@ -1,32 +1,32 @@
 #![allow(unused)]
 
 macro_rules! log {
-    (target: $target:expr, $lvl:expr, $($arg:tt)+) => {
+    (target: $target:expr, $lvl:expr, $($arg:tt)+) => {{
         let _ = $target;
         let _ = log!($lvl, $($arg)+);
-    }
-    ($lvl:expr, $($arg:tt)+) => {
+    }};
+    ($lvl:expr, $($arg:tt)+) => {{
         let _ = $lvl;
         let _ = format_args!($($arg)+);
-    }
+    }};
 }
 macro_rules! error {
-    (target: $target:expr, $($arg:tt)+) => { log!(target: $target, "", $($arg)+); }
-    ($($arg:tt)+) => { log!("", $($arg)+); }
+    (target: $target:expr, $($arg:tt)+) => { log!(target: $target, "", $($arg)+) };
+    ($($arg:tt)+) => { log!("", $($arg)+) };
 }
 macro_rules! warn {
-    (target: $target:expr, $($arg:tt)*) => { log!(target: $target, "", $($arg)*); }
-    ($($arg:tt)*) => { log!("", $($arg)*); }
+    (target: $target:expr, $($arg:tt)*) => { log!(target: $target, "", $($arg)*) };
+    ($($arg:tt)*) => { log!("", $($arg)*) };
 }
 macro_rules! info {
-    (target: $target:expr, $($arg:tt)+) => { log!(target: $target, "", $($arg)+); }
-    ($($arg:tt)+) => { log!("", $($arg)+); }
+    (target: $target:expr, $($arg:tt)+) => { log!(target: $target, "", $($arg)+) };
+    ($($arg:tt)+) => { log!("", $($arg)+) };
 }
 macro_rules! debug {
-    (target: $target:expr, $($arg:tt)+) => { log!(target: $target, "", $($arg)+); }
-    ($($arg:tt)+) => { log!("", $($arg)+); }
+    (target: $target:expr, $($arg:tt)+) => { log!(target: $target, "", $($arg)+) };
+    ($($arg:tt)+) => { log!("", $($arg)+) };
 }
 macro_rules! trace {
-    (target: $target:expr, $($arg:tt)+) => { log!(target: $target, "", $($arg)+); }
-    ($($arg:tt)+) => { log!("", $($arg)+); }
+    (target: $target:expr, $($arg:tt)+) => { log!(target: $target, "", $($arg)+) };
+    ($($arg:tt)+) => { log!("", $($arg)+) };
 }
Fix separator and treating expression
