Support logging dlog 67/70067/1 accepted/tizen/common/20160519.191102 accepted/tizen/ivi/20160519.002822 accepted/tizen/mobile/20160519.002738 accepted/tizen/tv/20160519.002804 accepted/tizen/wearable/20160519.002750 submit/tizen/20160518.062502
authorChangyeon Lee <cyeon.lee@samsung.com>
Mon, 16 May 2016 08:18:16 +0000 (17:18 +0900)
committerChangyeon Lee <cyeon.lee@samsung.com>
Wed, 18 May 2016 03:54:02 +0000 (12:54 +0900)
if WL_TBM_DLOG=1(environment variable) is set, wayland-tbm log message with dlog system

Change-Id: I34d9950dbcd0997c34695e56930c4ebc2ac47706

configure.ac
packaging/libwayland-tbm.spec
src/wayland-tbm-client.c
src/wayland-tbm-int.h
src/wayland-tbm-server.c
src/wayland-tbm-util.c

index 1f50782..e34de7a 100644 (file)
@@ -15,7 +15,7 @@ if test x$wayland_scanner = x; then
       AC_MSG_ERROR([wayland-scanner is needed to compile wayland-tbm])
 fi
 
-PKG_CHECK_MODULES([WL_TBM_COMMON], [libtbm capi-base-common])
+PKG_CHECK_MODULES([WL_TBM_COMMON], [libtbm capi-base-common dlog])
 PKG_CHECK_MODULES([WL_TBM_CLIENT], [wayland-client])
 PKG_CHECK_MODULES([WL_TBM_SERVER], [wayland-server])
 PKG_CHECK_MODULES( WAYLAND_SCANNER, wayland-scanner)
index 1e10e5d..fc48057 100644 (file)
@@ -14,6 +14,7 @@ BuildRequires:  pkgconfig
 BuildRequires:  pkgconfig(wayland-server)
 BuildRequires:  pkgconfig(wayland-client)
 BuildRequires:  pkgconfig(libtbm)
+BuildRequires:  pkgconfig(dlog)
 
 %description
 Wayland TBM Protocol for TIZEN
index 019450d..930e2af 100644 (file)
@@ -160,6 +160,8 @@ wayland_tbm_client_init(struct wl_display *display)
        struct wayland_tbm_client *tbm_client = NULL;
        struct wl_registry *wl_registry;
 
+       _wayland_tbm_check_dlog_enable();
+
        tbm_client = calloc(1, sizeof(struct wayland_tbm_client));
        WL_TBM_RETURN_VAL_IF_FAIL(tbm_client != NULL, NULL);
 
index 44284c3..cce87f3 100644 (file)
@@ -36,27 +36,66 @@ extern "C" {
 
 #include "wayland-tbm-client.h"
 
-#define WL_TBM_DEBUG(fmt, ...)   fprintf (stderr, "[WL_TBM:DEBUG(%d)] " fmt, getpid(), ##__VA_ARGS__)
+#define HAVE_DLOG
+#ifdef HAVE_DLOG
+#include <dlog.h>
+
+extern int bDlog;
+
+#ifdef LOG_TAG
+#undef LOG_TAG
+#endif
+
+#define LOG_TAG "WL_TBM"
+
+#define WL_TBM_C_LOG(fmt, ...) {\
+    if (bDlog) {\
+        LOGE ("[WL_TBM_C] " fmt, ##__VA_ARGS__);\
+    }\
+    else {\
+        fprintf (stderr, "[WL_TBM_C(%d):%s] " fmt, getpid(), __func__, ##__VA_ARGS__);\
+    }\
+}
+#define WL_TBM_S_LOG(fmt, ...) {\
+    if (bDlog) {\
+        LOGE ("[WL_TBM_S] " fmt, ##__VA_ARGS__);\
+    }\
+    else{\
+        fprintf (stderr, "[WL_TBM_S(%d):%s] " fmt, getpid(), __func__, ##__VA_ARGS__);\
+    }\
+}
+#define WL_TBM_LOG(fmt, ...) {\
+    if (bDlog) {\
+        LOGE ("[WL_TBM] " fmt, ##__VA_ARGS__);\
+    }\
+    else {\
+        fprintf (stderr, "[WL_TBM(%d)] " fmt, getpid(), ##__VA_ARGS__);\
+    }\
+}
+#else
 #define WL_TBM_C_LOG(fmt, ...)   fprintf (stderr, "[WL_TBM_C(%d):%s] " fmt, getpid(), __func__, ##__VA_ARGS__)
 #define WL_TBM_S_LOG(fmt, ...)   fprintf (stderr, "[WL_TBM_S(%d):%s] " fmt, getpid(), __func__, ##__VA_ARGS__)
 #define WL_TBM_LOG(fmt, ...)     fprintf (stderr, "[WL_TBM(%d)] " fmt, getpid(), ##__VA_ARGS__)
+#endif /* ENABLE_DLOG */
+
+#define WL_TBM_DEBUG(fmt, ...)   fprintf (stderr, "[WL_TBM:DEBUG(%d)] " fmt, getpid(), ##__VA_ARGS__)
 
 /* check condition */
 #define WL_TBM_RETURN_IF_FAIL(cond) {\
     if (!(cond)) {\
-        WL_TBM_LOG ("[%s] : '%s' failed.\n", __FUNCTION__, #cond);\
+        WL_TBM_LOG ("'%s' failed.\n", #cond);\
         return;\
     }\
 }
 #define WL_TBM_RETURN_VAL_IF_FAIL(cond, val) {\
     if (!(cond)) {\
-        WL_TBM_LOG ("[%s] : '%s' failed.\n", __FUNCTION__, #cond);\
+        WL_TBM_LOG ("'%s' failed.\n", #cond);\
         return val;\
     }\
 }
 #define WL_TBM_GOTO_IF_FAIL(cond, dst) {\
     if (!(cond)) {\
-        WL_TBM_LOG ("[%s] : '%s' failed.\n", __FUNCTION__, #cond);\
+        WL_TBM_LOG ("'%s' failed.\n", #cond);\
         goto dst;\
     }\
 }
@@ -93,6 +132,9 @@ _wayland_tbm_util_get_appname_brief(char *brief);
 void
 _wayland_tbm_util_get_appname_from_pid(long pid, char *str);
 
+void
+_wayland_tbm_check_dlog_enable(void);
+
 #ifdef  __cplusplus
 }
 #endif
index ae04964..4bf9b95 100644 (file)
@@ -646,6 +646,8 @@ wayland_tbm_server_init(struct wl_display *display, const char *device_name,
 {\r
        struct wayland_tbm_server *tbm_srv;\r
 \r
+       _wayland_tbm_check_dlog_enable();\r
+\r
        tbm_srv = calloc(1, sizeof(struct wayland_tbm_server));\r
        WL_TBM_RETURN_VAL_IF_FAIL(tbm_srv != NULL, NULL);\r
 \r
index ec67cbc..fccb5ae 100644 (file)
@@ -30,8 +30,14 @@ DEALINGS IN THE SOFTWARE.
 #include <stdio.h>
 #include <stdlib.h>
 #include <string.h>
+#include <sys/types.h>
+#include <unistd.h>
 #include "wayland-tbm-int.h"
 
+#ifdef HAVE_DLOG
+int bDlog;
+#endif
+
 void
 _wayland_tbm_util_get_appname_brief(char *brief)
 {
@@ -84,3 +90,20 @@ _wayland_tbm_util_get_appname_from_pid(long pid, char *str)
        snprintf(str, sizeof(cmdline), "%s", cmdline);
 }
 
+void
+_wayland_tbm_check_dlog_enable(void)
+{
+#ifdef HAVE_DLOG
+       char *env;
+
+       env = getenv("WL_TBM_DLOG");
+       if (env) {
+               bDlog = atoi(env);
+               WL_TBM_LOG("WL_TBM_DLOG=%s\n", env);
+       } else {
+               bDlog = 0;
+       }
+#endif
+    return;
+}
+