From b844886bd5e58e1fba3601a4b6dbbd62514803c3 Mon Sep 17 00:00:00 2001 From: gurpreet319 Date: Mon, 15 Sep 2025 18:53:55 +0530 Subject: [PATCH] RDKEMW-8240 : Add logs in jsruntime.log in /opt/logs Reason for Change : Add logs in jsruntime.log in /opt/logs Test Procedure : log file will be created Risk : Low --- src/NativeJSLogger.cpp | 22 ++++++++++++++++++++-- 1 file changed, 20 insertions(+), 2 deletions(-) diff --git a/src/NativeJSLogger.cpp b/src/NativeJSLogger.cpp index 86e7598..f1a4b15 100644 --- a/src/NativeJSLogger.cpp +++ b/src/NativeJSLogger.cpp @@ -24,6 +24,7 @@ #include #include #include +#include static const char* logLevelNames[] = { "DEBUG", "INFO", "WARN", "ERROR", "FATAL" @@ -49,9 +50,20 @@ void NativeJSLogger::setLogLevel(const char* loglevel) void NativeJSLogger::log(LogLevel level, const char* format, ...) { - if (level < sLogLevel) + if (level < sLogLevel) return; + FILE* logFile = fopen("/opt/logs/jsruntime.log", "a"); + if (!logFile) { + perror("Failed to open jsruntime.log"); + return; + } + + char timeStr[64]; + time_t now = time(NULL); + struct tm* t = localtime(&now); + strftime(timeStr, sizeof(timeStr), "%Y-%m-%d %H:%M:%S", t); + int threadId = syscall(__NR_gettid); const char* levelStr = logLevelNames[level]; char buffer[512]; @@ -61,6 +73,12 @@ void NativeJSLogger::log(LogLevel level, const char* format, ...) vsnprintf(buffer, sizeof(buffer), format, args); va_end(args); - printf("\n[%s] JsRuntime Thread-%d: %s\n", levelStr, threadId, buffer); + if(getenv("NATIVEJS_LOGS_REG")) + printf("\n[%s] JsRuntime Thread-%d: %s\n", levelStr, threadId, buffer); + else + fprintf(logFile, "%s : [%s] JsRuntime Thread-%d: %s\n", timeStr, levelStr, threadId, buffer); + + fclose(logFile); + }