71 #define LOG_LEVEL LOG_INFO
78 #define LOG(level, ...) do { \
79 _Pragma("clang diagnostic push") \
80 _Pragma("clang diagnostic ignored \"-Wtautological-compare\"") \
81 if ((level) <= LOG_LEVEL) log_write((level), __VA_ARGS__); } while (0U) \
82 _Pragma("clang diagnostic pop")
84 #define LOG(level, ...) do { \
85 if ((level) <= LOG_LEVEL) log_write((level), __VA_ARGS__); } while (0U)
92 #define LOG_ERROR(...) LOG(LOG_ERROR, __VA_ARGS__)
93 #define LOG_WARNING(...) LOG(LOG_WARNING, __VA_ARGS__)
94 #define LOG_INFO(...) LOG(LOG_INFO, __VA_ARGS__)
109 #define LOG_DEBUG(...) LOG(LOG_DEBUG, __VA_ARGS__)
113 #include "log_module.h"
120 #define log_write(level, ...) printf(__VA_ARGS__)
#define LOG_INFO(...)
for the curious
#define LOG_DEBUG(...)
Print a log message, if LOG_LEVEL is defined to be at least LOG_DEBUG
@ LOG_NONE
Lowest log level, will output nothing.
@ LOG_ALL
print everything
#define LOG_ERROR(...)
log an error
#define LOG_WARNING(...)
log a warning
stdio wrapper to extend the C libs stdio