Skip to main content

motorcortex_rust/
nng_logger.rs

1#[derive(Debug, Clone, Copy, PartialEq)]
2pub enum LogLevel {
3    None,
4    Debug,
5    Info,
6    Warn,
7    Error,
8}
9
10pub fn init_logger(log_level: LogLevel) {
11    unsafe {
12        nng_c_sys::nng_log_set_logger(Some(nng_c_sys::nng_stderr_logger));
13        match log_level {
14            LogLevel::None => nng_c_sys::nng_log_set_level(nng_c_sys::nng_log_level::NNG_LOG_NONE),
15            LogLevel::Debug => {
16                nng_c_sys::nng_log_set_level(nng_c_sys::nng_log_level::NNG_LOG_DEBUG)
17            }
18            LogLevel::Info => nng_c_sys::nng_log_set_level(nng_c_sys::nng_log_level::NNG_LOG_INFO),
19            LogLevel::Warn => nng_c_sys::nng_log_set_level(nng_c_sys::nng_log_level::NNG_LOG_WARN),
20            LogLevel::Error => nng_c_sys::nng_log_set_level(nng_c_sys::nng_log_level::NNG_LOG_ERR),
21        };
22    }
23}
24
25pub fn init_debug_logger() {
26    init_logger(LogLevel::Debug);
27}