Pyrogenesis  trunk
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 char *message, bool doRender)
 
void WriteError (const char *message)
 
void WriteWarning (const char *message)
 
void Render (CCanvas2D &canvas)
 

Private Member Functions

 NONCOPYABLE (CLogger)
 
void Init ()
 
void PushRenderMessage (ELogMethod method, const char *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
 
std::mutex m_Mutex
 

Detailed Description

Error/warning/message logging class.

Thread-safety:

Member Enumeration Documentation

◆ ELogMethod

Enumerator
Normal 
Error 
Warning 

Constructor & Destructor Documentation

◆ CLogger() [1/2]

CLogger::CLogger ( )

◆ CLogger() [2/2]

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

◆ ~CLogger()

CLogger::~CLogger ( )

Member Function Documentation

◆ CleanupRenderQueue()

void CLogger::CleanupRenderQueue ( )
private

◆ Init()

void CLogger::Init ( )
private

◆ NONCOPYABLE()

CLogger::NONCOPYABLE ( CLogger  )
private

◆ PushRenderMessage()

void CLogger::PushRenderMessage ( ELogMethod  method,
const char *  message 
)
private

◆ Render()

void CLogger::Render ( CCanvas2D canvas)

◆ WriteError()

void CLogger::WriteError ( const char *  message)

◆ WriteMessage()

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

◆ WriteWarning()

void CLogger::WriteWarning ( const char *  message)

Member Data Documentation

◆ m_InterestingLog

std::ostream* CLogger::m_InterestingLog
private

◆ m_MainLog

std::ostream* CLogger::m_MainLog
private

◆ m_Mutex

std::mutex CLogger::m_Mutex
private

◆ m_NumberOfErrors

int CLogger::m_NumberOfErrors
private

◆ m_NumberOfMessages

int CLogger::m_NumberOfMessages
private

◆ m_NumberOfWarnings

int CLogger::m_NumberOfWarnings
private

◆ m_OwnsStreams

bool CLogger::m_OwnsStreams
private

◆ m_RenderLastEraseTime

double CLogger::m_RenderLastEraseTime
private

◆ m_RenderMessages

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

◆ m_UseDebugPrintf

bool CLogger::m_UseDebugPrintf
private

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