1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
#![allow(unused_macros)]
#![allow(unused_imports)]

#[cfg(feature = "logger")]
macro_rules! debug {
    ($($arg:tt)+) => (log::debug!($($arg)+))
}

#[cfg(not(feature = "logger"))]
macro_rules! debug {
    ($($arg:tt)+) => {};
}

#[cfg(feature = "logger")]
macro_rules! trace {
    ($($arg:tt)+) => (log::trace!($($arg)+))
}

#[cfg(not(feature = "logger"))]
macro_rules! trace {
    ($($arg:tt)+) => {};
}

pub(crate) use {debug, trace};

#[cfg(feature = "logger")]
pub fn env_logger() -> env_logger::Builder {
    let r_stderr = Box::new(crate::io::r_stderr());
    let target = env_logger::Target::Pipe(r_stderr);
    let mut builder = env_logger::builder();
    builder.target(target);
    builder
}