summaryrefslogtreecommitdiff
path: root/utils.h
diff options
context:
space:
mode:
Diffstat (limited to 'utils.h')
-rw-r--r--utils.h18
1 files changed, 15 insertions, 3 deletions
diff --git a/utils.h b/utils.h
index 7eb585b..3774e62 100644
--- a/utils.h
+++ b/utils.h
@@ -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