init/cutils: move kernel logging interface to libcutils from init

Change-Id: Ia0f91b1fcd6cae69d76bf3dd841340958db938a8
Signed-off-by: Dima Zavin <dima@android.com>
diff --git a/init/builtins.c b/init/builtins.c
index 06ef96d..eccda3f 100644
--- a/init/builtins.c
+++ b/init/builtins.c
@@ -663,7 +663,7 @@
 
 int do_loglevel(int nargs, char **args) {
     if (nargs == 2) {
-        log_set_level(atoi(args[1]));
+        klog_set_level(atoi(args[1]));
         return 0;
     }
     return -1;
diff --git a/init/init.c b/init/init.c
index ef42e02..53b8aa5 100755
--- a/init/init.c
+++ b/init/init.c
@@ -724,7 +724,7 @@
          * talk to the outside world.
          */
     open_devnull_stdio();
-    log_init();
+    klog_init();
     
     INFO("reading config file\n");
     init_parse_config_file("/init.rc");
diff --git a/init/log.h b/init/log.h
index 3d93965..4aac3df 100644
--- a/init/log.h
+++ b/init/log.h
@@ -17,17 +17,12 @@
 #ifndef _INIT_LOG_H_
 #define _INIT_LOG_H_
 
-void log_init(void);
-void log_set_level(int level);
-void log_close(void);
-void log_write(int level, const char *fmt, ...)
-    __attribute__ ((format(printf, 2, 3)));
+#include <cutils/klog.h>
 
-#define ERROR(x...)   log_write(3, "<3>init: " x)
-#define NOTICE(x...)  log_write(5, "<5>init: " x)
-#define INFO(x...)    log_write(6, "<6>init: " x)
+#define ERROR(x...)   KLOG_ERROR("init", x)
+#define NOTICE(x...)  KLOG_NOTICE("init", x)
+#define INFO(x...)    KLOG_INFO("init", x)
 
-#define LOG_DEFAULT_LEVEL  3  /* messages <= this level are logged */
 #define LOG_UEVENTS        0  /* log uevent messages if 1. verbose */
 
 #endif
diff --git a/init/ueventd.c b/init/ueventd.c
index 1328d19..ddf42be 100644
--- a/init/ueventd.c
+++ b/init/ueventd.c
@@ -47,7 +47,7 @@
     signal(SIGCHLD, SIG_IGN);
 
     open_devnull_stdio();
-    log_init();
+    klog_init();
 
     INFO("starting ueventd\n");
 
diff --git a/init/util.c b/init/util.c
index d8ec88e..bc24b08 100755
--- a/init/util.c
+++ b/init/util.c
@@ -37,42 +37,6 @@
 #include "list.h"
 #include "util.h"
 
-static int log_fd = -1;
-/* Inital log level before init.rc is parsed and this this is reset. */
-static int log_level = LOG_DEFAULT_LEVEL;
-
-
-void log_set_level(int level) {
-    log_level = level;
-}
-
-void log_init(void)
-{
-    static const char *name = "/dev/__kmsg__";
-    if (mknod(name, S_IFCHR | 0600, (1 << 8) | 11) == 0) {
-        log_fd = open(name, O_WRONLY);
-        fcntl(log_fd, F_SETFD, FD_CLOEXEC);
-        unlink(name);
-    }
-}
-
-#define LOG_BUF_MAX 512
-
-void log_write(int level, const char *fmt, ...)
-{
-    char buf[LOG_BUF_MAX];
-    va_list ap;
-    
-    if (level > log_level) return;
-    if (log_fd < 0) return;
-    
-    va_start(ap, fmt);
-    vsnprintf(buf, LOG_BUF_MAX, fmt, ap);
-    buf[LOG_BUF_MAX - 1] = 0;
-    va_end(ap);
-    write(log_fd, buf, strlen(buf));
-}
-
 /*
  * android_name_to_id - returns the integer uid/gid associated with the given
  * name, or -1U on error.