fast_logger/
log.rs

1/// Equivalent to logging to the [crate::LoggerV2Async::log] function with an appropriate level, context, and a
2/// [Generic].
3#[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/// Equivalent to [log!] with a level of 255
64#[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/// Equivalent to [log!] with a level of 192
75#[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/// Equivalent to [log!] with a level of 128
86#[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/// Equivalent to [log!] with a level of 64
97#[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/// Equivalent to [log!] with a level of 0
108#[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}