1#[macro_export]
7macro_rules! log_info {
8 ($($arg:tt)*) => {{
9 #[cfg(debug_assertions)]
10 eprintln!("[INFO] {}", format_args!($($arg)*));
11 }};
12}
13
14#[macro_export]
15macro_rules! log_debug {
16 ($($arg:tt)*) => {{
17 #[cfg(debug_assertions)]
18 eprintln!("[DEBUG] {}", format_args!($($arg)*));
19 }};
20}
21
22#[macro_export]
23macro_rules! log_trace {
24 ($($arg:tt)*) => {{
25 #[cfg(debug_assertions)]
26 eprintln!("[TRACE] {}", format_args!($($arg)*));
27 }};
28}
29
30#[macro_export]
31macro_rules! log_warn {
32 ($($arg:tt)*) => {{
33 let _secs = std::time::SystemTime::now()
34 .duration_since(std::time::UNIX_EPOCH)
35 .unwrap_or_default()
36 .as_secs();
37 eprintln!("[WARN {:02}:{:02}:{:02}Z] {}", (_secs / 3600) % 24, (_secs / 60) % 60, _secs % 60, format_args!($($arg)*));
38 }};
39}