camera: intel: ipu6: Use libchrome for logging
Replaces customized logger by <base/logging.h> for unified message
format and avoid race.
BUG=b:149069716
TEST=build
Change-Id: I624e2826c75fdb98c3f286e12dde3a6cc7dbd003
Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform2/+/2563513
Reviewed-by: Qingwu Zhang <qingwu.zhang@intel.com>
Reviewed-by: Hung-yu Wu <hywu@chromium.org>
Tested-by: Tianshu Qiu <tian.shu.qiu@intel.com>
Tested-by: Ren-Pei Zeng <kamesan@chromium.org>
Commit-Queue: Ren-Pei Zeng <kamesan@chromium.org>
diff --git a/camera/hal/intel/ipu6/modules/sandboxing/server/IntelAlgoServer.cpp b/camera/hal/intel/ipu6/modules/sandboxing/server/IntelAlgoServer.cpp
index d670e07..eb13c79 100644
--- a/camera/hal/intel/ipu6/modules/sandboxing/server/IntelAlgoServer.cpp
+++ b/camera/hal/intel/ipu6/modules/sandboxing/server/IntelAlgoServer.cpp
@@ -18,7 +18,6 @@
#include "modules/sandboxing/server/IntelAlgoServer.h"
-#include <base/logging.h>
#include <ia_log.h>
#include <stdlib.h>
#include <sys/mman.h>
diff --git a/camera/hal/intel/ipu6/modules/sandboxing/server/IntelCPUAlgoServer.cpp b/camera/hal/intel/ipu6/modules/sandboxing/server/IntelCPUAlgoServer.cpp
index 1aee29c..34af9bf 100644
--- a/camera/hal/intel/ipu6/modules/sandboxing/server/IntelCPUAlgoServer.cpp
+++ b/camera/hal/intel/ipu6/modules/sandboxing/server/IntelCPUAlgoServer.cpp
@@ -18,7 +18,6 @@
#include "modules/sandboxing/server/IntelCPUAlgoServer.h"
-#include <base/logging.h>
#include <ia_log.h>
#include <stdlib.h>
#include <sys/mman.h>
diff --git a/camera/hal/intel/ipu6/modules/sandboxing/server/IntelGPUAlgoServer.cpp b/camera/hal/intel/ipu6/modules/sandboxing/server/IntelGPUAlgoServer.cpp
index b073bdc..40a9baf 100644
--- a/camera/hal/intel/ipu6/modules/sandboxing/server/IntelGPUAlgoServer.cpp
+++ b/camera/hal/intel/ipu6/modules/sandboxing/server/IntelGPUAlgoServer.cpp
@@ -18,7 +18,6 @@
#include "modules/sandboxing/server/IntelGPUAlgoServer.h"
-#include <base/logging.h>
#include <ia_log.h>
#include <stdlib.h>
#include <sys/mman.h>
diff --git a/camera/hal/intel/ipu6/src/iutils/CameraLog.cpp b/camera/hal/intel/ipu6/src/iutils/CameraLog.cpp
index 4339200..b591724 100644
--- a/camera/hal/intel/ipu6/src/iutils/CameraLog.cpp
+++ b/camera/hal/intel/ipu6/src/iutils/CameraLog.cpp
@@ -22,6 +22,8 @@
#include <stdlib.h>
#include <stdarg.h>
+#include <base/logging.h>
+
#include "iutils/Utils.h"
#include "CameraLog.h"
@@ -36,33 +38,57 @@
bool gIsDumpMediaTopo = false;
bool gIsDumpMediaInfo = false;
-static void getLogTime(char *timeBuf, int bufLen)
-{
- // The format of time is: 01-22 15:24:53.071
- struct timeval tv;
- gettimeofday(&tv, nullptr);
- time_t nowtime = tv.tv_sec;
- struct tm* nowtm = localtime(&nowtime);
- if (nowtm) { // If nowtm is nullptr, simply print nothing for time info
- char tmbuf[bufLen];
- CLEAR(tmbuf);
- strftime(tmbuf, bufLen, "%m-%d %H:%M:%S", nowtm);
- snprintf(timeBuf, bufLen, "%s.%03ld", tmbuf, tv.tv_usec/1000);
+static const char* cameraDebugLogToString(int level) {
+ switch (level) {
+ case CAMERA_DEBUG_LOG_LEVEL1:
+ return "LV1";
+ case CAMERA_DEBUG_LOG_LEVEL2:
+ return "LV2";
+ case CAMERA_DEBUG_LOG_REQ_STATE:
+ return "REQ";
+ case CAMERA_DEBUG_LOG_AIQ:
+ return "AIQ";
+ case CAMERA_DEBUG_LOG_XML:
+ return "XML";
+ case CAMERA_DEBUG_LOG_DBG:
+ return "DBG";
+ case CAMERA_DEBUG_LOG_INFO:
+ return "INF";
+ case CAMERA_DEBUG_LOG_ERR:
+ return "ERR";
+ case CAMERA_DEBUG_LOG_WARNING:
+ return "WAR";
+ case CAMERA_DEBUG_LOG_VERBOSE:
+ return "VER";
+ case CAMERA_DEBUG_LOG_VC_SYNC:
+ return "VCSYNC";
+ case CAMERA_DEBUG_LOG_GRAPH:
+ return "GRAPH";
+ default:
+ return "UKN";
}
}
__attribute__((__format__ (__printf__, 3, 0)))
-static void printLog(const char *module, const char *level, const char *fmt, va_list ap)
+static void printLog(const char *module, int level, const char *fmt, va_list ap)
{
- // Add time into beginning of the log.
- const int BUF_LEN = 64;
- char timeBuf[BUF_LEN] = {'\0'};
+ char prefix[64] = {};
+ snprintf(prefix, sizeof(prefix), "[%s]: CamHAL_%s:", cameraDebugLogToString(level), module);
- getLogTime(timeBuf, BUF_LEN);
+ char message[256] = {};
+ vsnprintf(message, sizeof(message), fmt, ap);
- fprintf(stdout, "%s: [%s]: CamHAL_%s:", timeBuf, level, module);
- vfprintf(stdout, fmt, ap);
- fprintf(stdout, "\n");
+ switch (level) {
+ case CAMERA_DEBUG_LOG_ERR:
+ LOG(ERROR) << prefix << message;
+ break;
+ case CAMERA_DEBUG_LOG_WARNING:
+ LOG(WARNING) << prefix << message;
+ break;
+ default:
+ LOG(INFO) << prefix << message;
+ break;
+ }
}
namespace Log {
@@ -136,7 +162,7 @@
return gLogLevel & level;
}
-bool isModulePrintAble(const char *module)
+bool isModulePrintable(const char *module)
{
if (gLogModules == nullptr) {
return true;
@@ -163,57 +189,14 @@
if (!enable && (level != CAMERA_DEBUG_LOG_ERR))
return;
- if (!isModulePrintAble(module)) {
+ if (!isModulePrintable(module)) {
return;
}
- const char *levelStr = nullptr;
va_list arg;
va_start(arg, format);
- switch(level) {
- case CAMERA_DEBUG_LOG_LEVEL1:
- levelStr = "LV1";
- break;
- case CAMERA_DEBUG_LOG_LEVEL2:
- levelStr = "LV2";
- break;
- case CAMERA_DEBUG_LOG_REQ_STATE:
- levelStr = "REQ";
- break;
- case CAMERA_DEBUG_LOG_AIQ:
- levelStr = "AIQ";
- break;
- case CAMERA_DEBUG_LOG_XML:
- levelStr = "XML";
- break;
- case CAMERA_DEBUG_LOG_DBG:
- levelStr = "DBG";
- break;
- case CAMERA_DEBUG_LOG_INFO:
- levelStr = "INF";
- break;
- case CAMERA_DEBUG_LOG_ERR:
- levelStr = "ERR";
- break;
- case CAMERA_DEBUG_LOG_WARNING:
- levelStr = "WAR";
- break;
- case CAMERA_DEBUG_LOG_VERBOSE:
- levelStr = "VER";
- break;
- case CAMERA_DEBUG_LOG_VC_SYNC:
- levelStr = "VCSYNC";
- break;
- case CAMERA_DEBUG_LOG_GRAPH:
- levelStr = "GRAPH";
- break;
- default:
- levelStr = "UKN";
- break;
- }
-
- printLog(module, levelStr, format, arg);
+ printLog(module, level, format, arg);
va_end(arg);
}
@@ -222,7 +205,7 @@
void ccaPrintError(const char *fmt, va_list ap)
{
if (gLogLevel & CAMERA_DEBUG_LOG_AIQ) {
- printLog("CCA_DEBUG", "ERROR", fmt, ap);
+ printLog("CCA_DEBUG", CAMERA_DEBUG_LOG_ERR, fmt, ap);
}
}
@@ -230,7 +213,7 @@
void ccaPrintInfo(const char *fmt, va_list ap)
{
if (gLogLevel & CAMERA_DEBUG_LOG_AIQ) {
- printLog("CCA_DEBUG", "INFO", fmt, ap);
+ printLog("CCA_DEBUG", CAMERA_DEBUG_LOG_INFO, fmt, ap);
}
}
@@ -238,7 +221,7 @@
void ccaPrintDebug(const char *fmt, va_list ap)
{
if (gLogLevel & CAMERA_DEBUG_LOG_AIQ) {
- printLog("CCA_DEBUG", "DBG", fmt, ap);
+ printLog("CCA_DEBUG", CAMERA_DEBUG_LOG_DBG, fmt, ap);
}
}
diff --git a/camera/hal/intel/ipu6/src/iutils/CameraLog.h b/camera/hal/intel/ipu6/src/iutils/CameraLog.h
index 771edfc..2289d5b 100644
--- a/camera/hal/intel/ipu6/src/iutils/CameraLog.h
+++ b/camera/hal/intel/ipu6/src/iutils/CameraLog.h
@@ -120,7 +120,7 @@
void setDebugLevel(void);
void print_log(bool enable, const char *module, const int level, const char *format, ...);
bool isDebugLevelEnable(int level);
-bool isModulePrintAble(const char *module);
+bool isModulePrintable(const char *module);
bool isDumpMediaTopo(void);
bool isDumpMediaInfo(void);
void ccaPrintError(const char *fmt, va_list ap);