frecon: util: Add DEBUG log level, not printed by default

We're going to make frecon a bit more quiet by moving some error
messages to "DEBUG" log level.

This can be overriden in each file by defining LOG_LEVEL.

BUG=b:183336123
TEST=emerge-asurada -v frecon && cros deploy dut9999 frecon
     dmesg | grep frecon => less messages

Change-Id: I02bcc507c37dd0d368eef7ab85cd3ee147ecfa16
Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/frecon/+/2777712
Reviewed-by: Dominik Behr <dbehr@chromium.org>
Tested-by: Nicolas Boichat <drinkcat@chromium.org>
Commit-Queue: Nicolas Boichat <drinkcat@chromium.org>
diff --git a/util.h b/util.h
index e1ba8eb..3d43385 100644
--- a/util.h
+++ b/util.h
@@ -32,8 +32,21 @@
 	return MS_PER_SEC * spec.tv_sec + spec.tv_nsec / NS_PER_MS;
 }
 
-#define LOG(severity, fmt, ...) (fprintf(stderr, "<%i>frecon[%d]: " fmt "\n", \
-                                         severity, getpid(), ##__VA_ARGS__))
+#define ERROR                 (LOG_ERR)
+#define WARNING               (LOG_WARNING)
+#define INFO                  (LOG_INFO)
+#define DEBUG                 (LOG_DEBUG)
+
+/* Don't print debug messages by default. */
+#ifndef LOG_LEVEL
+#define LOG_LEVEL             (LOG_DEBUG-1)
+#endif
+
+#define LOG(severity, fmt, ...) do { \
+		if (severity <= LOG_LEVEL) \
+			fprintf(stderr, "<%i>frecon[%d]: " fmt "\n", \
+				severity, getpid(), ##__VA_ARGS__); \
+	} while (0)
 
 void daemonize(bool wait_child);
 void daemon_exit_code(char code);
@@ -47,8 +60,4 @@
 void fix_stdio(void);
 bool write_string_to_file(const char *path, const char *s);
 
-#define ERROR                 (LOG_ERR)
-#define WARNING               (LOG_WARNING)
-#define INFO                  (LOG_INFO)
-
 #endif