capybara_core/
macros.rs

1#[macro_export]
2macro_rules! xdebug (
3    ($k:expr, #$tag:expr, $($args:tt)*) => {
4        let r = $crate::logger::LOGGERS.read();
5        if let Some(l) = r.get(&$k){
6            slog::log!(l, slog::Level::Debug, $tag, $($args)*)
7        }
8    };
9    ($k:expr, $($args:tt)*) => {
10        let r = $crate::logger::LOGGERS.read();
11        if let Some(l) = r.get(&$k){
12            slog::log!(l, slog::Level::Debug, "", $($args)*)
13        }
14    };
15);
16
17#[macro_export]
18macro_rules! xinfo (
19    ($k:expr, #$tag:expr, $($args:tt)*) => {
20        let r = $crate::logger::LOGGERS.read();
21        if let Some(l) = r.get(&$k){
22            slog::log!(l, slog::Level::Info, $tag, $($args)*)
23        }
24    };
25    ($k:expr, $($args:tt)*) => {
26        let r = $crate::logger::LOGGERS.read();
27        if let Some(l) = r.get(&$k){
28            slog::log!(l, slog::Level::Info, "", $($args)*)
29        }
30    };
31);
32
33#[macro_export]
34macro_rules! xwarn (
35    ($k:expr, #$tag:expr, $($args:tt)*) => {
36        let r = $crate::logger::LOGGERS.read();
37        if let Some(l) = r.get(&$k){
38            slog::log!(l, slog::Level::Warning, $tag, $($args)*)
39        }
40    };
41    ($k:expr, $($args:tt)*) => {
42        let r = $crate::logger::LOGGERS.read();
43        if let Some(l) = r.get(&$k){
44            slog::log!(l, slog::Level::Warning, "", $($args)*)
45        }
46    };
47);
48
49#[macro_export]
50macro_rules! xerror (
51    ($k:expr, #$tag:expr, $($args:tt)*) => {
52        let r = $crate::logger::LOGGERS.read();
53        if let Some(l) = r.get(&$k){
54            logx::log!(l, slog::Level::Error, $tag, $($args)*)
55        }
56    };
57    ($k:expr, $($args:tt)*) => {
58        let r = $crate::logger::LOGGERS.read();
59        if let Some(l) = r.get(&$k){
60            logx::log!(l, slog::Level::Error, "", $($args)*)
61        }
62    };
63);
64
65#[cfg(test)]
66mod logger_tests {
67    use crate::logger::Key;
68
69    #[test]
70    fn test_logger() {
71        xinfo!(Key::default(), "{}", "1234");
72    }
73}