rust_raknet/
log.rs

1use std::sync::atomic::{AtomicU8, Ordering};
2
3pub static ENABLE_RAKNET_LOG: AtomicU8 = AtomicU8::new(0);
4
5/// A switch to print Raknet logs
6/// 8 bit flag (00000000)
7/// enable print debug log = 1[00000001]
8/// enable print error log = 2[00000010]
9/// enable print info log = 4[00000100]
10/// enable print debug && error = 3[00000011]
11pub fn enable_raknet_log(flag: u8) {
12    ENABLE_RAKNET_LOG.store(flag, Ordering::Relaxed);
13}
14
15/// Print Raknet Debug Log
16#[macro_export]
17macro_rules! raknet_log_debug {
18    ($($arg:tt)*) => ({
19        if $crate::log::ENABLE_RAKNET_LOG.load(std::sync::atomic::Ordering::Relaxed) & 1 != 0 {
20            let now = $crate::utils::cur_timestamp_millis();
21            let msg = format!($($arg)*);
22            println!("debug - {} - {} - {}" , now , "raknet" , msg);
23        }
24    })
25}
26
27/// Print Raknet Error Log
28#[macro_export]
29macro_rules! raknet_log_error {
30    ($($arg:tt)*) => ({
31        if $crate::log::ENABLE_RAKNET_LOG.load(std::sync::atomic::Ordering::Relaxed) & 2 != 0 {
32            let now = $crate::utils::cur_timestamp_millis();
33            let msg = format!($($arg)*);
34            println!("error - {} - {} - {}" , now , "raknet" , msg);
35        }
36    })
37}
38
39/// Print Raknet Info Log
40#[macro_export]
41macro_rules! raknet_log_info {
42    ($($arg:tt)*) => ({
43        if $crate::log::ENABLE_RAKNET_LOG.load(std::sync::atomic::Ordering::Relaxed) & 4 != 0 {
44            let now = $crate::utils::cur_timestamp_millis();
45            let msg = format!($($arg)*);
46            println!("info - {} - {} - {}" , now , "raknet" , msg);
47        }
48    })
49}