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>

Collaboration diagram for CLogger:
Collaboration graph
[legend]

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 ()
 

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
 
CMutex m_Mutex
 

Detailed Description

Error/warning/message logging class.

Thread-safety:

Member Enumeration Documentation

Enumerator
Normal 
Error 
Warning 

Constructor & Destructor Documentation

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

Member Function Documentation

void CLogger::CleanupRenderQueue ( )
private
void CLogger::Init ( )
private
CLogger::NONCOPYABLE ( CLogger  )
private
void CLogger::PushRenderMessage ( ELogMethod  method,
const char *  message 
)
private
void CLogger::Render ( )
void CLogger::WriteError ( const char *  message)
void CLogger::WriteMessage ( const char *  message,
bool  doRender = false 
)
void CLogger::WriteWarning ( const char *  message)

Member Data Documentation

std::ostream* CLogger::m_InterestingLog
private
std::ostream* CLogger::m_MainLog
private
CMutex CLogger::m_Mutex
private
int CLogger::m_NumberOfErrors
private
int CLogger::m_NumberOfMessages
private
int CLogger::m_NumberOfWarnings
private
bool CLogger::m_OwnsStreams
private
double CLogger::m_RenderLastEraseTime
private
std::deque<RenderedMessage> CLogger::m_RenderMessages
private
bool CLogger::m_UseDebugPrintf
private

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