From 1248032a498f24d869793374517b7c1626d533b9 Mon Sep 17 00:00:00 2001 From: Jaeyun Date: Fri, 8 Jul 2022 20:50:10 +0900 Subject: [PATCH] [Log] internal log function Remove glib, add internal log function. Signed-off-by: Jaeyun --- include/nnstreamer-edge.h | 1 + .../nnstreamer-edge-common.h | 71 ++++++++++++++++--- 2 files changed, 63 insertions(+), 9 deletions(-) diff --git a/include/nnstreamer-edge.h b/include/nnstreamer-edge.h index a117731..bb018ff 100644 --- a/include/nnstreamer-edge.h +++ b/include/nnstreamer-edge.h @@ -24,6 +24,7 @@ #include #include #include +#include #include #include diff --git a/src/libnnstreamer-edge/nnstreamer-edge-common.h b/src/libnnstreamer-edge/nnstreamer-edge-common.h index 1d36637..a07e578 100644 --- a/src/libnnstreamer-edge/nnstreamer-edge-common.h +++ b/src/libnnstreamer-edge/nnstreamer-edge-common.h @@ -73,17 +73,70 @@ typedef struct { nns_edge_raw_data_s data; } nns_edge_event_s; +#define TAG_NAME "nnstreamer-edge" + +#if defined(__TIZEN__) +#include + +#define nns_edge_logd(...) dlog_print (DLOG_DEBUG, TAG_NAME, __VA_ARGS__) +#define nns_edge_logi(...) dlog_print (DLOG_INFO, TAG_NAME, __VA_ARGS__) +#define nns_edge_logw(...) dlog_print (DLOG_WARN, TAG_NAME, __VA_ARGS__) +#define nns_edge_loge(...) dlog_print (DLOG_ERROR, TAG_NAME, __VA_ARGS__) +#define nns_edge_logf(...) dlog_print (DLOG_FATAL, TAG_NAME, __VA_ARGS__) +#elif defined(__ANDROID__) +#include + +#define nns_edge_logd(...) __android_log_print (ANDROID_LOG_DEBUG, TAG_NAME, __VA_ARGS__) +#define nns_edge_logi(...) __android_log_print (ANDROID_LOG_INFO, TAG_NAME, __VA_ARGS__) +#define nns_edge_logw(...) __android_log_print (ANDROID_LOG_WARN, TAG_NAME, __VA_ARGS__) +#define nns_edge_loge(...) __android_log_print (ANDROID_LOG_ERROR, TAG_NAME, __VA_ARGS__) +#define nns_edge_logf(...) __android_log_print (ANDROID_LOG_FATAL, TAG_NAME, __VA_ARGS__) +#else /** - * @todo add log util for nnstreamer-edge. - * 1. define tag (e.g., "nnstreamer-edge"). - * 2. consider macros to print function and line. - * 3. new API to get last error. + * @brief Internal enumeration for log message. */ -#define nns_edge_logi g_info -#define nns_edge_logw g_warning -#define nns_edge_loge g_critical -#define nns_edge_logd g_debug -#define nns_edge_logf g_error +typedef enum { + NE_LOG_DEBUG = 0, + NE_LOG_INFO, + NE_LOG_WARNING, + NE_LOG_ERROR, + NE_LOG_FATAL, + NE_LOG_NONE +} nns_edge_log_level_e; + +/** + * @brief Internal util function to print log message. + */ +static inline void +nns_edge_print_log (nns_edge_log_level_e level, const char *fmt, ...) +{ + const char *level_str[] = { + [NE_LOG_DEBUG] = "DEBUG", + [NE_LOG_INFO] = "INFO", + [NE_LOG_WARNING] = "WARNING", + [NE_LOG_ERROR] = "ERROR", + [NE_LOG_FATAL] = "FATAL", + [NE_LOG_NONE] = "DEBUG", + }; + + va_list args; + + /** @todo expand log util and handle log level (debug, release) */ + va_start (args, fmt); + + printf ("[%s][%s] ", level_str[level], TAG_NAME); + vprintf (fmt, args); + printf ("\n"); + + va_end (args); +} + +#define nns_edge_logi(...) nns_edge_print_log (NE_LOG_INFO, __VA_ARGS__) +#define nns_edge_logw(...) nns_edge_print_log (NE_LOG_WARNING, __VA_ARGS__) +#define nns_edge_loge(...) nns_edge_print_log (NE_LOG_ERROR, __VA_ARGS__) +#define nns_edge_logd(...) nns_edge_print_log (NE_LOG_DEBUG, __VA_ARGS__) +#define nns_edge_logf(...) nns_edge_print_log (NE_LOG_FATAL, __VA_ARGS__) +#endif /** * @brief Internal util function to get available port number. -- 2.34.1