Esempio n. 1
0
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;
}
Esempio n. 3
0
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);

}