
use std::sync::Arc;
use std::thread;
use std::time::{Duration};

#[cfg(feature = "use_sync")]
use syslog_rs::sy_sync::{Syslog};
#[cfg(feature = "use_sync_queue")]
use syslog_rs::sy_sync_queue::{Syslog};
use syslog_rs::{LogStat, LogFacility, Priority};


lazy_static! {
    static ref SYSLOG: Arc<Syslog> = 
        Arc::new(
            Syslog::openlog(
                Some("example"), 
                LogStat::LOG_CONS | LogStat::LOG_NDELAY | LogStat::LOG_PID, 
                LogFacility::LOG_DAEMON
            ).unwrap()
        );
}

macro_rules! logdebug 
{
    ($($arg:tt)*) => (
        SYSLOG.syslog(Priority::LOG_DEBUG, format!($($arg)*))
    )
}



pub fn main()
{
    logdebug!("test message!");

    thread::sleep(Duration::from_micros(10));

    return;
}

