libdlog : control platform debug log by modifying conf file 15/95715/2 accepted/tizen/common/20161114.171339 accepted/tizen/ivi/20161114.010627 accepted/tizen/mobile/20161114.010452 accepted/tizen/tv/20161114.010520 accepted/tizen/wearable/20161114.010601 submit/tizen/20161113.061424
authorKichan Kwon <k_c.kwon@samsung.com>
Fri, 4 Nov 2016 09:39:49 +0000 (18:39 +0900)
committerKunhoon Baik <knhoon.baik@samsung.com>
Sun, 13 Nov 2016 06:05:41 +0000 (22:05 -0800)
- If debugmode is set to 0, libdlog doesn't write platform debug log
- Debugmode doesn't impact on Public API (dlog_(v)print)
- Normal user can't modify it

Change-Id: Ib1a278412baaa5a2ff64612b786a59adffb7c849
Signed-off-by: Kichan Kwon <k_c.kwon@samsung.com>
configs/dlog.conf.journal [deleted file]
configs/dlog.conf.kmsg
configs/dlog.conf.logger
configs/dlog.conf.pipe
configure.ac
packaging/dlog.spec
src/libdlog/log.c

diff --git a/configs/dlog.conf.journal b/configs/dlog.conf.journal
deleted file mode 100644 (file)
index fade87a..0000000
+++ /dev/null
@@ -1,3 +0,0 @@
-plog=1
-limiter=0
-limiter|*|*=allow
index f2eeb81..e4dab07 100644 (file)
@@ -1,5 +1,6 @@
 backend=kmsg
 plog=1
+debugmode=1
 limiter=0
 limiter|*|*=allow
 main_size=1048576
index a7a7eb9..fc10387 100644 (file)
@@ -1,5 +1,6 @@
 backend=logger
 plog=1
+debugmode=1
 limiter=0
 limiter|*|*=allow
 main=/dev/log_main
index 116d038..978ba7d 100644 (file)
@@ -9,6 +9,9 @@ backend=pipe
 # Platform logging. Whether logging happens at all.
 plog=1
 
+# Debugmode - whether write platform debug log or not
+debugmode=1
+
 # Limiter - whether it's enabled and the rules (check the documentation for how to create rules).
 limiter=0
 limiter|*|*=allow
index 425e046..8717157 100644 (file)
@@ -14,18 +14,6 @@ AC_PROG_CC
 AC_PROG_GCC_TRADITIONAL
 AC_PROG_LIBTOOL
 
-# check binary type for dlog debug mode
-AC_ARG_ENABLE([debug_mode],
-       AS_HELP_STRING([--enable-debug_mode Turn on debug_mode]),
-               [debug_mode=yes],
-               debug_mode=no)
-if test "x$debug_mode" = "xyes" ; then
-       DEBUG_CFLAGS+=" -DDLOG_DEBUG_ENABLE"
-fi
-AC_ARG_ENABLE([debug_enable],
-       AS_HELP_STRING([--enable-debug_enable Turn on debug_enable]),
-               [debug_enable=yes],
-           debug_enable=no)
 AC_SUBST(DEBUG_CFLAGS)
 # Checks for libraries.
 # Checks for header files.
index e5836fc..90cc166 100644 (file)
@@ -89,7 +89,6 @@ cp %{SOURCE103} .
 cp %{SOURCE104} .
 %autogen --disable-static
 %configure --disable-static \
-                       --enable-debug_mode \
                        TZ_SYS_ETC=%{TZ_SYS_ETC}
 make %{?jobs:-j%jobs} \
        CFLAGS+=-DTZ_SYS_ETC=\\\"%{TZ_SYS_ETC}\\\"
index 6ec03c7..854185d 100644 (file)
@@ -47,6 +47,7 @@ extern void __dlog_init_android();
 static int limiter;
 static int plog;
 static int debugmode;
+static int fatal_assert;
 
 /**
  * @brief Null handler
@@ -137,6 +138,10 @@ static void __configure(void)
        else if (!strncmp(conf_value, "logger", sizeof("logger") + 1))
                __dlog_init_android();
 
+       fatal_assert = access(DEBUGMODE_FILE, F_OK);
+       conf_value = log_config_get(&conf, "debugmode");
+       debugmode = atoi(conf_value);
+
        log_config_free(&conf);
 
        return;
@@ -156,7 +161,7 @@ static void __dlog_init(void)
                __configure();
                is_initialized = 1;
        }
-       debugmode = access(DEBUGMODE_FILE, F_OK) != -1 ? 1 : 0;
+
        pthread_mutex_unlock(&log_init_lock);
 }
 
@@ -167,7 +172,7 @@ static void __dlog_init(void)
  */
 void __dlog_fatal_assert(int prio)
 {
-       assert(debugmode || !(prio == DLOG_FATAL));
+       assert(!fatal_assert || (prio != DLOG_FATAL));
 }
 
 /**
@@ -182,11 +187,9 @@ void __dlog_fatal_assert(int prio)
  */
 static int dlog_should_log(log_id_t log_id, const char* tag, int prio)
 {
-
-#ifndef DLOG_DEBUG_ENABLE
-       if (prio <= DLOG_DEBUG)
+       if (!debugmode && prio <= DLOG_DEBUG)
                return DLOG_ERROR_INVALID_PARAMETER;
-#endif
+
        if (!tag)
                return DLOG_ERROR_INVALID_PARAMETER;