EXPORT void TraceAgent_PrintTrace(const char *fmt, ...) { va_list arglist; time_t currTime; struct tm timeinfo; const char *delimitedFileName = NULL; int tmpByteWritten; char userMessage[512] = {0}, fullMsg[512 + 128] = {0}; // Make sure that the log file is initialized if (gLogFile == NULL) return; if ((gMessageProp.moduleID & gModuleID) && (gMessageProp.severity & gSeverity)) { delimitedFileName = strrchr(gMessageProp.file, '/'); if (delimitedFileName == NULL) { delimitedFileName = gMessageProp.file; } else { delimitedFileName = delimitedFileName + 1; } currTime = time(NULL); timeinfo = *(localtime(&currTime)); va_start(arglist, fmt); vsnprintf(userMessage, 512, fmt, arglist); va_end(arglist); OSAL_snprintf(fullMsg, 512 + 128, "%s [%s]", userMessage, gMessageProp.function); tmpByteWritten = fprintf(gLogFile, "%02d:%02d:%02d:%12u @%-8s@%-15s@%-150s@%-16s(%d)\t@%s\n", timeinfo.tm_hour, timeinfo.tm_min, timeinfo.tm_sec, OSAL_get_threadid(), GetSeverityName((Severities)gMessageProp.severity), GetModuleName((MODULE_IDS)gMessageProp.moduleID), fullMsg, delimitedFileName, gMessageProp.line, gcProcessName); fflush(gLogFile); } OSAL_exit_critical_section(&csWriteProt); }
OP_STATUS OpScopeConsoleLogger::SetConsoleMessage(const OpConsoleEngine::Message *msg, ConsoleMessage &out) { const char *source_str = GetSourceName(msg->source); const char *severity_str = GetSeverityName(msg->severity); out.SetTime(static_cast<UINT32>(msg->time)); RETURN_IF_ERROR(out.SetUri(msg->url)); RETURN_IF_ERROR(out.SetContext(msg->context)); if (severity_str) RETURN_IF_ERROR(out.SetSeverity(severity_str)); if (source_str) RETURN_IF_ERROR(out.SetSource(source_str)); out.SetWindowID(msg->window); RETURN_IF_ERROR(out.SetDescription(msg->message)); return OpStatus::OK; }
EXPORT void TraceAgent_WriteTrace(MODULE_IDS moduleID, Severities severity, const char* file, const char* function, int line,const char *fmt, ...) { va_list arglist; struct tm timeinfo; time_t currTime; BOOL result; const char *delimitedFileName = NULL; int tmpByteWritten; char userMessage[512] = {0}, fullMsg[512 + 128] = {0}; if (FALSE == OSAL_atomic_compareExchange((LPLONG) & isInitialized, FALSE, FALSE)) { result = Trace_Init(); if (result ==FALSE) return; } OSAL_enter_critical_section(&csWriteProt); // Leave is in the other part of the macro // Make sure that the log file is initialized if (gLogFile == NULL) { OSAL_exit_critical_section(&csWriteProt); return; } if ((moduleID & gModuleID) && (severity & gSeverity)) { delimitedFileName = strrchr(file, '/'); if (delimitedFileName == NULL) { delimitedFileName = file; } else { delimitedFileName = delimitedFileName + 1; } currTime = time(NULL); timeinfo = *(localtime(&currTime)); va_start(arglist, fmt); vsnprintf(userMessage, 512, fmt, arglist); va_end(arglist); snprintf(fullMsg, 512 + 128, "%s [%s]", userMessage, function); tmpByteWritten = fprintf(gLogFile, "%02d:%02d:%02d:%12u @%-8s @%-15s@%-150s@%-16s(%d)\t@%s\n", timeinfo.tm_hour, timeinfo.tm_min, timeinfo.tm_sec, OSAL_get_threadid(), GetSeverityName((Severities)severity), GetModuleName((MODULE_IDS)moduleID), fullMsg, delimitedFileName, line, gcProcessName); fflush(gLogFile); } OSAL_exit_critical_section(&csWriteProt); }