Skip to main content

gzbox/
macro_debug_println.rs

1// debug_println!
2// -  用于 debug 模式 的 println! 宏.
3// -  参数和 println! 类似, 只是不能为空参数.
4// -  在 cargo run 即 debug 模式 的时候会起作用, 用来调试.
5//    在其它情况下, 相当于空白, 不会有任何作用.
6//
7#[macro_export]
8#[cfg(debug_assertions)]
9macro_rules! debug_println {
10      ($($arg:tt)*) => {
11            println!("{} {}   {}",
12            ansi_term::Colour::RGB(255, 60, 60)
13                  .paint("DEBUG".to_string()).to_string(),
14            ansi_term::Colour::RGB(128, 128, 128)
15                  .paint(chrono::Local::now().format("%m-%d %H:%M:%S").to_string()).to_string(),
16            ansi_term::Colour::RGB(8, 8, 8)
17                  .paint(format_args!($($arg)*).to_string()).to_string()
18            );
19      };
20}
21
22#[macro_export]
23#[cfg(not(debug_assertions))]
24macro_rules! debug_println {
25    ($($arg:tt)*) => {};
26}