Pyrogenesis  13997
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
Classes | Public Types | Public Member Functions | Private Member Functions | Private Attributes | List of all members
CLogger Class Reference

Error/warning/message logging class. More...

#include <CLogger.h>

Classes

struct  RenderedMessage
 

Public Types

enum  ELogMethod { Normal, Error, Warning }
 

Public Member Functions

 CLogger ()
 
 CLogger (std::ostream *mainLog, std::ostream *interestingLog, bool takeOwnership, bool useDebugPrintf)
 
 ~CLogger ()
 
void WriteMessage (const wchar_t *message, bool doRender)
 
void WriteError (const wchar_t *message)
 
void WriteWarning (const wchar_t *message)
 
void LogMessage (const wchar_t *fmt,...) WPRINTF_ARGS(2)
 
void LogMessageRender (const wchar_t *fmt,...) WPRINTF_ARGS(2)
 
void LogWarning (const wchar_t *fmt,...) WPRINTF_ARGS(2)
 
void LogError (const wchar_t *fmt,...) WPRINTF_ARGS(2)
 
void Render ()
 

Private Member Functions

 NONCOPYABLE (CLogger)
 
void Init ()
 
void PushRenderMessage (ELogMethod method, const wchar_t *message)
 
void CleanupRenderQueue ()
 

Private Attributes

std::ostream * m_MainLog
 
std::ostream * m_InterestingLog
 
bool m_OwnsStreams
 
bool m_UseDebugPrintf
 
int m_NumberOfMessages
 
int m_NumberOfErrors
 
int m_NumberOfWarnings
 
std::deque< RenderedMessagem_RenderMessages
 
double m_RenderLastEraseTime
 
CMutex m_Mutex
 

Detailed Description

Error/warning/message logging class.

Thread-safety:

Definition at line 45 of file CLogger.h.

Member Enumeration Documentation

Enumerator
Normal 
Error 
Warning 

Definition at line 49 of file CLogger.h.

Constructor & Destructor Documentation

CLogger::CLogger ( )

Definition at line 75 of file CLogger.cpp.

CLogger::CLogger ( std::ostream *  mainLog,
std::ostream *  interestingLog,
bool  takeOwnership,
bool  useDebugPrintf 
)

Definition at line 89 of file CLogger.cpp.

CLogger::~CLogger ( )

Definition at line 116 of file CLogger.cpp.

Member Function Documentation

void CLogger::CleanupRenderQueue ( )
private

Definition at line 361 of file CLogger.cpp.

void CLogger::Init ( )
private

Definition at line 99 of file CLogger.cpp.

void CLogger::LogError ( const wchar_t fmt,
  ... 
)

Definition at line 261 of file CLogger.cpp.

void CLogger::LogMessage ( const wchar_t fmt,
  ... 
)

Definition at line 213 of file CLogger.cpp.

void CLogger::LogMessageRender ( const wchar_t fmt,
  ... 
)

Definition at line 229 of file CLogger.cpp.

void CLogger::LogWarning ( const wchar_t fmt,
  ... 
)

Definition at line 245 of file CLogger.cpp.

CLogger::NONCOPYABLE ( CLogger  )
private
void CLogger::PushRenderMessage ( ELogMethod  method,
const wchar_t message 
)
private

Definition at line 337 of file CLogger.cpp.

void CLogger::Render ( )

Definition at line 277 of file CLogger.cpp.

void CLogger::WriteError ( const wchar_t message)

Definition at line 173 of file CLogger.cpp.

void CLogger::WriteMessage ( const wchar_t message,
bool  doRender = false 
)

Definition at line 152 of file CLogger.cpp.

void CLogger::WriteWarning ( const wchar_t message)

Definition at line 193 of file CLogger.cpp.

Member Data Documentation

std::ostream* CLogger::m_InterestingLog
private

Definition at line 90 of file CLogger.h.

std::ostream* CLogger::m_MainLog
private

Definition at line 89 of file CLogger.h.

CMutex CLogger::m_Mutex
private

Definition at line 113 of file CLogger.h.

int CLogger::m_NumberOfErrors
private

Definition at line 99 of file CLogger.h.

int CLogger::m_NumberOfMessages
private

Definition at line 98 of file CLogger.h.

int CLogger::m_NumberOfWarnings
private

Definition at line 100 of file CLogger.h.

bool CLogger::m_OwnsStreams
private

Definition at line 91 of file CLogger.h.

double CLogger::m_RenderLastEraseTime
private

Definition at line 110 of file CLogger.h.

std::deque<RenderedMessage> CLogger::m_RenderMessages
private

Definition at line 109 of file CLogger.h.

bool CLogger::m_UseDebugPrintf
private

Definition at line 95 of file CLogger.h.


The documentation for this class was generated from the following files: