111 lines
2.5 KiB
C++
111 lines
2.5 KiB
C++
//----------------------------------------------------------------------------
|
|
//
|
|
// Copyright (C) Intel Corporation, 2007 - 2008.
|
|
//
|
|
// Class: MPSEventLogger.cpp
|
|
//
|
|
// Contents: EventLogger for MPS.
|
|
//
|
|
// Notes:
|
|
//----------------------------------------------------------------------------
|
|
|
|
#include "MPSEventLogger.h"
|
|
#include <string>
|
|
|
|
// Constructor
|
|
MPSEventLogger::MPSEventLogger()
|
|
{
|
|
ResetFlags();
|
|
m_logger = new WindowsEventLog(EVENT_LOG_LOG_NAME,EVENT_LOG_SOURCE_NAME,EVENT_LOG_CATEGORY_COUNT);
|
|
}
|
|
|
|
MPSEventLogger::~MPSEventLogger()
|
|
{
|
|
delete m_logger;
|
|
}
|
|
|
|
// Log information event by id and category
|
|
void MPSEventLogger::LogInfoEvent(unsigned short CategoryID,
|
|
unsigned long EventID)
|
|
{
|
|
mutex.acquire();
|
|
if (m_logger != NULL) {
|
|
m_logger->LogEvent(CategoryID , EventID, EVENTLOG_INFORMATION_TYPE);
|
|
}
|
|
mutex.release();
|
|
}
|
|
|
|
// Log Error event by id and category
|
|
void MPSEventLogger::LogErrorEvent(unsigned short CategoryID, unsigned long EventID)
|
|
{
|
|
mutex.acquire();
|
|
|
|
if (m_logger != NULL) {
|
|
m_logger->LogEvent(CategoryID, EventID, EVENTLOG_ERROR_TYPE);
|
|
}
|
|
mutex.release();
|
|
}
|
|
|
|
// Record Events for debugging.
|
|
void MPSEventLogger::DebugLog(const char *message)
|
|
{
|
|
mutex.acquire();
|
|
|
|
ACE_TCHAR szBuf[1024];
|
|
ACE_OS::sprintf(szBuf, "%s\n", message);
|
|
const ACE_TCHAR *lpStrings[] = {szBuf};
|
|
unsigned int NumOfStrings = 1;
|
|
if (m_logger != NULL) {
|
|
m_logger->LogEvent(MPS_GENERAL, TEXT_MESSAGE, EVENTLOG_INFORMATION_TYPE, lpStrings,NumOfStrings, NULL, 0);
|
|
}
|
|
#ifndef NO_STDOUT_DEBUG_LOG
|
|
printf("%s", szBuf);
|
|
#endif
|
|
mutex.release();
|
|
}
|
|
|
|
// Record warning events
|
|
void MPSEventLogger::WarningLog(const char *message)
|
|
{
|
|
mutex.acquire();
|
|
|
|
ACE_TCHAR szBuf[1024];
|
|
ACE_OS::sprintf(szBuf, "%s\n", message);
|
|
const ACE_TCHAR *lpStrings[] = {szBuf};
|
|
unsigned int NumOfStrings = 1;
|
|
if (m_logger != NULL) {
|
|
m_logger->LogEvent(MPS_GENERAL, MPS_WARNING_MESSAGE, EVENTLOG_WARNING_TYPE, lpStrings,NumOfStrings, NULL, 0);
|
|
}
|
|
#ifndef NO_STDOUT_DEBUG_LOG
|
|
printf("%s", szBuf);
|
|
#endif
|
|
mutex.release();
|
|
}
|
|
|
|
// Record error events
|
|
void MPSEventLogger::ErrorLog(const char *message)
|
|
{
|
|
mutex.acquire();
|
|
|
|
ACE_TCHAR szBuf[1024];
|
|
ACE_OS::sprintf(szBuf, " [MPS] %s\n", message);
|
|
const ACE_TCHAR *lpStrings[] = {szBuf};
|
|
unsigned int NumOfStrings = 1;
|
|
if (m_logger != NULL) {
|
|
m_logger->LogEvent(MPS_GENERAL, MPS_ERROR_MESSAGE, EVENTLOG_ERROR_TYPE, lpStrings,NumOfStrings, NULL, 0);
|
|
}
|
|
#ifndef NO_STDOUT_DEBUG_LOG
|
|
printf("%s", szBuf);
|
|
#endif
|
|
mutex.release();
|
|
}
|
|
|
|
// Reset all flags
|
|
void MPSEventLogger::ResetFlags()
|
|
{
|
|
mutex.acquire();
|
|
// Reset flags
|
|
mutex.release();
|
|
}
|
|
|