Added logging to Android log.
authorMitar <mitar@tnode.com>
Mon, 28 Jun 2010 03:17:43 +0000 (05:17 +0200)
committerMitar <mitar@tnode.com>
Mon, 28 Jun 2010 03:17:43 +0000 (05:17 +0200)
make/Makefile.android
src/unix/log.c

index 8cfd7fa..09aaf4e 100644 (file)
@@ -59,6 +59,7 @@ LDFLAGS += -nostartfiles -nodefaultlibs -nostdlib
 LDFLAGS += -Wl,--dynamic-linker -Wl,/system/bin/linker
 LDFLAGS += -L$(NDK_ARCH)/usr/lib
 LDFLAGS += -Wl,-rpath-link -Wl,$(NDK_ARCH)/usr/lib
+LDFLAGS += -llog
 ifndef OLSRD_PLUGIN
 LDFLAGS += $(NDK_ARCH)/usr/lib/crtbegin_dynamic.o
 endif
index 92b8190..ad952a4 100644 (file)
 #include <syslog.h>
 #include <stdarg.h>
 
+#ifdef android
+#include <android/log.h>
+#endif
+
 void
 olsr_openlog(const char *ident)
 {
+#ifndef android
   openlog(ident, LOG_PID | LOG_ODELAY, LOG_DAEMON);
   setlogmask(LOG_UPTO(LOG_INFO));
+#endif
 
   return;
 }
@@ -78,17 +84,29 @@ olsr_syslog(int level, const char *format, ...)
 
   switch (level) {
   case (OLSR_LOG_INFO):
+#ifdef android
+    linux_level = ANDROID_LOG_INFO;
+#else
     linux_level = LOG_INFO;
+#endif
     break;
   case (OLSR_LOG_ERR):
+#ifdef android
+    linux_level = ANDROID_LOG_ERROR;
+#else
     linux_level = LOG_ERR;
+#endif
     break;
   default:
     return;
   }
 
   va_start(arglist, format);
+#ifdef android
+  __android_log_vprint(linux_level, "olsrd", format, arglist);
+#else
   vsyslog(linux_level, format, arglist);
+#endif
   va_end(arglist);
 
   return;