diff options
Diffstat (limited to 'utils.h')
-rw-r--r-- | utils.h | 18 |
1 files changed, 15 insertions, 3 deletions
@@ -24,11 +24,23 @@ extern "C" { #define STR_IMPL(op) #op #define STR(op) STR_IMPL(op) -#define LOG(fmt, ...) \ - LogImpl(__FILE__ ":" STR(__LINE__) " " fmt "\n", ##__VA_ARGS__) +#define LOG(log_level, fmt, ...) \ + LogImpl(level, __FILE__ ":" STR(__LINE__) " " fmt "\n", ##__VA_ARGS__) +#define LOGD(...) LOG(kLogLevelDebug, __VA_ARGS__) +#define LOGI(...) LOG(kLogLevelInfo, __VA_ARGS__) +#define LOGW(...) LOG(kLogLevelWarning, __VA_ARGS__) +#define LOGE(...) LOG(kLogLevelError, __VA_ARGS__) #define LENGTH(op) (sizeof(op) / sizeof *(op)) -void LogImpl(const char* fmt, ...) __attribute__((format(printf, 1, 2))); +enum LogLevel { + kLogLevelDebug = 0, + kLogLevelInfo, + kLogLevelWarning, + kLogLevelError, +}; + +void LogImpl(enum LogLevel log_level, const char* fmt, ...) + __attribute__((format(printf, 2, 3))); unsigned long long MillisNow(void); #ifdef __cplusplus |