#include #include #ifndef LOG_LEVEL #define LOG_LEVEL 3 #endif #if LOG_LEVEL >= 3 #define log_infof(...) do { \ char log_buf[1024]; \ log_buf[0] = 'i'; \ snprintf(log_buf + 1, 1023, __VA_ARGS__); \ send_log(logging, log_buf, 1024); \ } while(0); #endif // LOG_LEVEL >= 3 #if LOG_LEVEL >= 2 #define log_warnf(...) do { \ char log_buf[1024]; \ log_buf[0] = 'w'; \ snprintf(log_buf + 1, 1023, __VA_ARGS__); \ send_log(logging, log_buf, 1024) \ } while(0); #endif // LOG_LEVEL >= 2 #if LOG_LEVEL >= 1 #define log_errof(...) do { \ char log_buf[1024]; \ log_buf[0] = 'e'; \ snprintf(log_buf + 1, 1023, __VA_ARGS__); \ send_log(logging, log_buf, 1024) \ } while(0); #endif // LOG_LEVEL >= 1 #ifndef log_infof #define log_infof(...) (void)0 #endif #ifndef log_warnf #define log_warnf(...) (void)0 #endif #ifndef log_errof #define log_errof(...) (void)0 #endif void send_log(mqd_t target, const char* msg, int n);