plugx_input/
logging.rs

1#[doc(hidden)]
2#[macro_export]
3macro_rules! is_debug_level_enabled {
4    () => {{
5        cfg_if::cfg_if! {
6            if #[cfg(feature = "tracing")] {
7                tracing::enabled!(tracing::Level::DEBUG)
8            } else if #[cfg(feature = "logging")] {
9                log::log_enabled!(log::Level::Debug)
10            } else {
11                false
12            }
13        }
14    }};
15}
16
17#[doc(hidden)]
18#[macro_export]
19macro_rules! is_trace_level_enabled {
20    () => {{
21        cfg_if::cfg_if! {
22            if #[cfg(feature = "tracing")] {
23                tracing::enabled!(tracing::Level::TRACE)
24            } else if #[cfg(feature = "logging")] {
25                log::log_enabled!(log::Level::Trace)
26            } else {
27                false
28            }
29        }
30    }};
31}
32
33#[cfg(test)]
34pub fn enable_logging() {
35    cfg_if::cfg_if! {
36        if #[cfg(feature = "tracing")] {
37            let _ = tracing_subscriber::fmt()
38                .json()
39                .with_max_level(tracing::Level::TRACE)
40                .try_init();
41        } else if #[cfg(feature = "logging")] {
42            let _ = env_logger::builder()
43                .filter_level(log::LevelFilter::max())
44                .is_test(true)
45                .try_init();
46        }
47    }
48}
49
50#[cfg(test)]
51pub fn info<T: AsRef<str>>(_text: T) {
52    cfg_if::cfg_if! {
53        if #[cfg(feature = "tracing")] {
54            tracing::info!("{}", _text.as_ref());
55        } else if #[cfg(feature = "logging")] {
56            log::info!("{}", _text.as_ref());
57        }
58    }
59}