1#[macro_export]
4macro_rules! log {
5 ($n:expr, $log:expr, $fmt:expr, $($msg:expr),* $(,)?; $($key:expr => $val:expr),* $(,)?; clone $($cl:ident),* $(,)?) => {{
6 $(
7 let $cl = $cl.clone();
8 )*
9 $log.log($n, $crate::make_generic__(::std::sync::Arc::new(move |f| -> ::std::fmt::Result {
10 Ok({
11 write![f, $fmt, $($msg),*]?;
12 $(
13 write![f, ", {}={}", $key, $val]?;
14 )*
15 })
16 })))
17 }};
18 ($n:expr, $log:expr, $fmt:expr $(,)?; $($key:expr => $val:expr),* $(,)?; clone $($cl:ident),* $(,)?) => {{
19 $(
20 let $cl = $cl.clone();
21 )*
22 $log.log($n, $crate::make_generic__(::std::sync::Arc::new(move |f| -> ::std::fmt::Result {
23 Ok({
24 write![f, $fmt]?;
25 $(
26 write![f, ", {}={}", $key, $val]?;
27 )*
28 })
29 })))
30 }};
31 ($n:expr, $log:expr, $fmt:expr, $($msg:expr),* $(,)?; $($key:expr => $val:expr),* $(,)?) => {{
32 $log.log($n, $crate::make_generic__(::std::sync::Arc::new(move |f| -> ::std::fmt::Result {
33 Ok({
34 write![f, $fmt, $($msg),*]?;
35 $(
36 write![f, ", {}={}", $key, $val]?;
37 )*
38 })
39 })))
40 }};
41 ($n:expr, $log:expr, $fmt:expr; $($key:expr => $val:expr),* $(,)?) => {{
42 $log.log($n, $crate::make_generic__(::std::sync::Arc::new(move |f| -> ::std::fmt::Result {
43 Ok({
44 write![f, $fmt]?;
45 $(
46 write![f, ", {}={}", $key, $val]?;
47 )*
48 })
49 })))
50 }};
51 ($n:expr, $log:expr, $fmt:expr, $($msg:expr),* $(,)?) => {{
52 $log.log($n, $crate::make_generic__(::std::sync::Arc::new(move |f| -> ::std::fmt::Result {
53 write![f, $fmt, $($msg),*]
54 })))
55 }};
56 ($n:expr, $log:expr, $fmt:expr $(,)?) => {{
57 $log.log($n, $crate::make_generic__(::std::sync::Arc::new(move |f| -> ::std::fmt::Result {
58 write![f, $fmt]
59 })))
60 }};
61}
62
63#[macro_export]
65macro_rules! trace {
66 ($log:expr, $fmt:expr, $($msg:expr),* $(,)?; $($key:expr => $val:expr),* $(,)?; clone $($cl:ident),* $(,)?) => { $crate::log![255, $log, $fmt, $($msg),*; $($key => $val),*; clone $($cl),*] };
67 ($log:expr, $fmt:expr $(,)?; $($key:expr => $val:expr),* $(,)?; clone $($cl:ident),* $(,)?) => { $crate::log![255, $log, $fmt; $($key => $val),*; clone $($cl),*] };
68 ($log:expr, $fmt:expr, $($msg:expr),* $(,)?; $($key:expr => $val:expr),* $(,)?) => { $crate::log![255, $log, $fmt, $($msg),*; $($key => $val),*] };
69 ($log:expr, $fmt:expr $(,)?; $($key:expr => $val:expr),* $(,)?) => { $crate::log![255, $log, $fmt; $($key => $val),*] };
70 ($log:expr, $fmt:expr, $($msg:expr),* $(,)?) => { $crate::log![255, $log, $fmt, $($msg),*] };
71 ($log:expr, $fmt:expr $(,)?) => { $crate::log![255, $log, $fmt] };
72}
73
74#[macro_export]
76macro_rules! debug {
77 ($log:expr, $fmt:expr, $($msg:expr),* $(,)?; $($key:expr => $val:expr),* $(,)?; clone $($cl:ident),* $(,)?) => { $crate::log![192, $log, $fmt, $($msg),*; $($key => $val),*; clone $($cl),*] };
78 ($log:expr, $fmt:expr $(,)?; $($key:expr => $val:expr),* $(,)?; clone $($cl:ident),* $(,)?) => { $crate::log![192, $log, $fmt; $($key => $val),*; clone $($cl),*] };
79 ($log:expr, $fmt:expr, $($msg:expr),* $(,)?; $($key:expr => $val:expr),* $(,)?) => { $crate::log![192, $log, $fmt, $($msg),*; $($key => $val),*] };
80 ($log:expr, $fmt:expr $(,)?; $($key:expr => $val:expr),* $(,)?) => { $crate::log![192, $log, $fmt; $($key => $val),*] };
81 ($log:expr, $fmt:expr, $($msg:expr),* $(,)?) => { $crate::log![192, $log, $fmt, $($msg),*] };
82 ($log:expr, $fmt:expr $(,)?) => { $crate::log![192, $log, $fmt] };
83}
84
85#[macro_export]
87macro_rules! info {
88 ($log:expr, $fmt:expr, $($msg:expr),* $(,)?; $($key:expr => $val:expr),* $(,)?; clone $($cl:ident),* $(,)?) => { $crate::log![128, $log, $fmt, $($msg),*; $($key => $val),*; clone $($cl),*] };
89 ($log:expr, $fmt:expr $(,)?; $($key:expr => $val:expr),* $(,)?; clone $($cl:ident),* $(,)?) => { $crate::log![128, $log, $fmt; $($key => $val),*; clone $($cl),*] };
90 ($log:expr, $fmt:expr, $($msg:expr),* $(,)?; $($key:expr => $val:expr),* $(,)?) => { $crate::log![128, $log, $fmt, $($msg),*; $($key => $val),*] };
91 ($log:expr, $fmt:expr $(,)?; $($key:expr => $val:expr),* $(,)?) => { $crate::log![128, $log, $fmt; $($key => $val),*] };
92 ($log:expr, $fmt:expr, $($msg:expr),* $(,)?) => { $crate::log![128, $log, $fmt, $($msg),*] };
93 ($log:expr, $fmt:expr $(,)?) => { $crate::log![128, $log, $fmt] };
94}
95
96#[macro_export]
98macro_rules! warn {
99 ($log:expr, $fmt:expr, $($msg:expr),* $(,)?; $($key:expr => $val:expr),* $(,)?; clone $($cl:ident),* $(,)?) => { $crate::log![64, $log, $fmt, $($msg),*; $($key => $val),*; clone $($cl),*] };
100 ($log:expr, $fmt:expr $(,)?; $($key:expr => $val:expr),* $(,)?; clone $($cl:ident),* $(,)?) => { $crate::log![64, $log, $fmt; $($key => $val),*; clone $($cl),*] };
101 ($log:expr, $fmt:expr, $($msg:expr),* $(,)?; $($key:expr => $val:expr),* $(,)?) => { $crate::log![64, $log, $fmt, $($msg),*; $($key => $val),*] };
102 ($log:expr, $fmt:expr $(,)?; $($key:expr => $val:expr),* $(,)?) => { $crate::log![64, $log, $fmt; $($key => $val),*] };
103 ($log:expr, $fmt:expr, $($msg:expr),* $(,)?) => { $crate::log![64, $log, $fmt, $($msg),*] };
104 ($log:expr, $fmt:expr $(,)?) => { $crate::log![64, $log, $fmt] };
105}
106
107#[macro_export]
109macro_rules! error {
110 ($log:expr, $fmt:expr, $($msg:expr),* $(,)?; $($key:expr => $val:expr),* $(,)?; clone $($cl:ident),* $(,)?) => { $crate::log![0, $log, $fmt, $($msg),*; $($key => $val),*; clone $($cl),*] };
111 ($log:expr, $fmt:expr $(,)?; $($key:expr => $val:expr),* $(,)?; clone $($cl:ident),* $(,)?) => { $crate::log![0, $log, $fmt; $($key => $val),*; clone $($cl),*] };
112 ($log:expr, $fmt:expr, $($msg:expr),* $(,)?; $($key:expr => $val:expr),* $(,)?) => { $crate::log![0, $log, $fmt, $($msg),*; $($key => $val),*] };
113 ($log:expr, $fmt:expr $(,)?; $($key:expr => $val:expr),* $(,)?) => { $crate::log![0, $log, $fmt; $($key => $val),*] };
114 ($log:expr, $fmt:expr, $($msg:expr),* $(,)?) => { $crate::log![0, $log, $fmt, $($msg),*] };
115 ($log:expr, $fmt:expr $(,)?) => { $crate::log![0, $log, $fmt] };
116}