1use std::sync::atomic::{AtomicU8, Ordering};
2
3pub static ENABLE_RAKNET_LOG: AtomicU8 = AtomicU8::new(0);
4
5pub fn enable_raknet_log(flag: u8) {
9 ENABLE_RAKNET_LOG.store(flag, Ordering::Relaxed);
10}
11
12#[macro_export]
14macro_rules! raknet_log_debug {
15 ($($arg:tt)*) => ({
16 if $crate::log::ENABLE_RAKNET_LOG.load(std::sync::atomic::Ordering::Relaxed) & 1 != 0 {
17 let now = $crate::utils::cur_timestamp_millis();
18 println!("debug - {now} - raknet - {}", format_args!($($arg)*));
19 }
20 })
21}
22
23#[macro_export]
25macro_rules! raknet_log_error {
26 ($($arg:tt)*) => ({
27 if $crate::log::ENABLE_RAKNET_LOG.load(std::sync::atomic::Ordering::Relaxed) & 2 != 0 {
28 let now = $crate::utils::cur_timestamp_millis();
29 eprintln!("error - {now} - raknet - {}", format_args!($($arg)*));
30 }
31 })
32}
33
34#[macro_export]
36macro_rules! raknet_log_info {
37 ($($arg:tt)*) => ({
38 if $crate::log::ENABLE_RAKNET_LOG.load(std::sync::atomic::Ordering::Relaxed) & 4 != 0 {
39 let now = $crate::utils::cur_timestamp_millis();
40 println!("info - {now} - raknet - {}", format_args!($($arg)*));
41 }
42 })
43}