va_list args;
va_start(args, format);
#if ENABLE(TIZEN_DLOG_SUPPORT)
- static char logMessage[DLOG_MAX_LENGTH];
-
- int prefixLength = snprintf(logMessage, DLOG_MAX_LENGTH, "%s(%d) > ", function, line);
- vsnprintf(logMessage + prefixLength, DLOG_MAX_LENGTH - prefixLength, format, args);
- if (channel->mask == 0x00040000)
- ALOG(LOG_INFO, DLOG_WEBKIT_TAG, "%s", logMessage);
- else if (channel->mask == 0x00080000)
- ALOG(LOG_ERROR, DLOG_WEBKIT_TAG, "%s", logMessage);
- else
- LOG(LOG_INFO, DLOG_WEBKIT_TAG, "%s", logMessage); // LOG macro from dlog
+ char logFormat[DLOG_MAX_LENGTH] = { 0 };
+
+ snprintf(logFormat, DLOG_MAX_LENGTH, "%s(%d) > %s", function, line, format);
+ switch (channel->mask) {
+ case 0x00040000:
+ ALOG_VA(LOG_INFO, DLOG_WEBKIT_TAG, logFormat, args);
+ break;
+ case 0x00080000:
+ ALOG_VA(LOG_ERROR, DLOG_WEBKIT_TAG, logFormat, args);
+ break;
+ default:
+ LOG_VA(LOG_INFO, DLOG_WEBKIT_TAG, logFormat, args);
+ }
va_end(args);
#else
}
#if ENABLE(TIZEN_DLOG_SUPPORT)
-void TizenLogError(int line, const char* function, const char* format, ...)
+void TizenLog(TizenDlogPriority priority, bool secureLog, int line, const char* function, const char* format, ...)
{
- va_list args;
- va_start(args, format);
-
- static char logMessage[DLOG_MAX_LENGTH];
-
- int prefixLength = snprintf(logMessage, DLOG_MAX_LENGTH, "%s(%d) > ERROR: ", function, line);
- vsnprintf(logMessage + prefixLength, DLOG_MAX_LENGTH - prefixLength, format, args);
- LOG(LOG_ERROR, DLOG_WEBKIT_TAG, "%s", logMessage); // LOG macro from dlog
-
- va_end(args);
-}
+#ifndef _SECURE_LOG
+ // Do not print logs if _SECURE_LOG is not defined by dlog package and secureLog is true.
+ if (secureLog)
+ return;
+#endif
-void TizenLogInfo(int line, const char* function, const char* format, ...)
-{
va_list args;
va_start(args, format);
- static char logMessage[DLOG_MAX_LENGTH];
-
- int prefixLength = snprintf(logMessage, DLOG_MAX_LENGTH, "%s(%d) > ", function, line);
- vsnprintf(logMessage + prefixLength, DLOG_MAX_LENGTH - prefixLength, format, args);
- LOG(LOG_INFO, DLOG_WEBKIT_TAG, "%s", logMessage); // LOG macro from dlog
+ char logFormat[DLOG_MAX_LENGTH] = { 0 };
+
+ const char* secureLogTag = "";
+ if (secureLog)
+ secureLogTag = "[SECURE_LOG] ";
+
+ switch (priority) {
+ case TIZEN_DLOG_PRIORITY_INFO:
+ snprintf(logFormat, DLOG_MAX_LENGTH, "%s(%d) > %s%s", function, line, secureLogTag, format);
+ LOG_VA(LOG_INFO, DLOG_WEBKIT_TAG, logFormat, args);
+ break;
+ case TIZEN_DLOG_PRIORITY_ERROR:
+ snprintf(logFormat, DLOG_MAX_LENGTH, "%s(%d) > %sERROR: %s", function, line, secureLogTag, format);
+ LOG_VA(LOG_ERROR, DLOG_WEBKIT_TAG, logFormat, args);
+ break;
+ default:
+ ASSERT_NOT_REACHED();
+ }
va_end(args);
}
WTF_EXPORT_PRIVATE void WTFInvokeCrashHook();
#if ENABLE(TIZEN_DLOG_SUPPORT)
-WTF_EXPORT_PRIVATE void TizenLogError(int line, const char* function, const char* format, ...);
-WTF_EXPORT_PRIVATE void TizenLogInfo(int line, const char* function, const char* format, ...);
+typedef enum {
+ TIZEN_DLOG_PRIORITY_ERROR,
+ TIZEN_DLOG_PRIORITY_INFO
+} TizenDlogPriority;
+
+WTF_EXPORT_PRIVATE void TizenLog(TizenDlogPriority priority, bool secureLog, int line, const char* function, const char* format, ...);
#endif
#ifdef __cplusplus
#else
#if ENABLE(TIZEN_DLOG_SUPPORT)
// Use below macros to print out WebKit debug log.
-#define TIZEN_LOGE(...) TizenLogError(__LINE__, WTF_PRETTY_FUNCTION, __VA_ARGS__);
-#define TIZEN_LOGI(...) TizenLogInfo(__LINE__, WTF_PRETTY_FUNCTION, __VA_ARGS__);
+#define TIZEN_LOGE(...) TizenLog(TIZEN_DLOG_PRIORITY_ERROR, false, __LINE__, WTF_PRETTY_FUNCTION, __VA_ARGS__);
+#define TIZEN_LOGI(...) TizenLog(TIZEN_DLOG_PRIORITY_INFO, false, __LINE__, WTF_PRETTY_FUNCTION, __VA_ARGS__);
+
+// Use below macros to print out secure log.
+#define TIZEN_SECURE_LOGE(...) TizenLog(TIZEN_DLOG_PRIORITY_ERROR, true, __LINE__, WTF_PRETTY_FUNCTION, __VA_ARGS__);
+#define TIZEN_SECURE_LOGI(...) TizenLog(TIZEN_DLOG_PRIORITY_INFO, true, __LINE__, WTF_PRETTY_FUNCTION, __VA_ARGS__);
#define LOG(channel, ...) LOG_VERBOSE(channel, __VA_ARGS__)
#else