The C++ framework for developing highly scalable, high performance servers on Windows platforms.

CMemoryBasedMessageLog Class Reference
[Log files and the pluggable logging system]

Inheritance diagram for CMemoryBasedMessageLog:
Collaboration diagram for CMemoryBasedMessageLog:

List of all members.


Detailed Description

An object that implements ILogMessages and.


Public Types

enum  LogEntryFormat { JustMessage, IncludeThreadId }
typedef unsigned long DataLength
typedef std::vector
< std::string > 
VectorOfLines
 Logs the messages to the log. Note that you should manually synchronise access to this function and the various SetLogName calls.
typedef std::deque
< std::string > 
DequeOfLines
 Logs the messages to the log. Note that you should manually synchronise access to this function and the various SetLogName calls.

Public Member Functions

 CMemoryBasedMessageLog (LogEntryFormat logEntryFormat=IncludeThreadId)
 CMemoryBasedMessageLog (const CMemoryBasedMessageLog &rhs)
CMemoryBasedMessageLogoperator= (const CMemoryBasedMessageLog &rhs)
_tstring GetLogMessages () const
void SetThreadIdentifier (const std::string &identifier) override
 Sets the identifier used in the log for the current thread to the supplied string. The thread identifier defaults to the thread id in the form "XXX: ", the string supplied as an identifier does not need to include the ": " as this will be appended automatically. It can be any string that will help you to identify the thread concerned.
void SetThreadIdentifier (const std::wstring &identifier) override
 Sets the identifier used in the log for the current thread to the supplied string. The thread identifier defaults to the thread id in the form "XXX: ", the string supplied as an identifier does not need to include the ": " as this will be appended automatically. It can be any string that will help you to identify the thread concerned.
void SetLogName (const std::string &name) override
 Sets the name of the log file to the supplied name. Note that this creates a new log file with the specified name, it does NOT rename the existing log file. Note that you should manually synchronise access to this function and the various LogMessage and IWaitable calls.
void SetLogName (const std::wstring &name) override
 Sets the name of the log file to the supplied name. Note that this creates a new log file with the specified name, it does NOT rename the existing log file. Note that you should manually synchronise access to this function and the various LogMessage and IWaitable calls.
void LogMessage (const VectorOfLines &messages) override
void LogMessage (const DequeOfLines &messages) override
void LogMessage (const std::string &message) override
 Logs the message to the log. Note that you should manually synchronise access to this function and the various SetLogName calls.
void LogMessage (const std::wstring &message) override
 Logs the message to the log. Note that you should manually synchronise access to this function and the various SetLogName calls.
void LogMessage (const char *pString) override
 Logs the message to the log. Note that you should manually synchronise access to this function and the various SetLogName calls.
void LogMessage (const wchar_t *pString) override
 Logs the message to the log. Note that you should manually synchronise access to this function and the various SetLogName calls.
void LogMessage (const char *pString, DataLength stringLength) override
void LogMessage (const wchar_t *pString, DataLength stringLength) override
virtual void LogMessage (const char *pString, DataLength stringLength)=0
 Logs the message to the log. Note that you should manually synchronise access to this function and the various SetLogName calls.
virtual void LogMessage (const wchar_t *pString, DataLength stringLength)=0
 Logs the message to the log. Note that you should manually synchronise access to this function and the various SetLogName calls.


Member Typedef Documentation

typedef unsigned long DataLength [inherited]

typedef std::vector<std::string> VectorOfLines [inherited]

Logs the messages to the log. Note that you should manually synchronise access to this function and the various SetLogName calls.

typedef std::deque<std::string> DequeOfLines [inherited]

Logs the messages to the log. Note that you should manually synchronise access to this function and the various SetLogName calls.


Member Enumeration Documentation

Enumerator:
JustMessage 
IncludeThreadId 


Constructor & Destructor Documentation

CMemoryBasedMessageLog ( LogEntryFormat  logEntryFormat = IncludeThreadId  )  [explicit]


Member Function Documentation

CMemoryBasedMessageLog& operator= ( const CMemoryBasedMessageLog rhs  ) 

_tstring GetLogMessages (  )  const

void SetThreadIdentifier ( const std::string &  identifier  )  [override, virtual]

Sets the identifier used in the log for the current thread to the supplied string. The thread identifier defaults to the thread id in the form "XXX: ", the string supplied as an identifier does not need to include the ": " as this will be appended automatically. It can be any string that will help you to identify the thread concerned.

Implements ILogMessages.

void SetThreadIdentifier ( const std::wstring &  identifier  )  [override, virtual]

Sets the identifier used in the log for the current thread to the supplied string. The thread identifier defaults to the thread id in the form "XXX: ", the string supplied as an identifier does not need to include the ": " as this will be appended automatically. It can be any string that will help you to identify the thread concerned.

Implements ILogMessages.

void SetLogName ( const std::string &  name  )  [override, virtual]

Sets the name of the log file to the supplied name. Note that this creates a new log file with the specified name, it does NOT rename the existing log file. Note that you should manually synchronise access to this function and the various LogMessage and IWaitable calls.

Implements ILogMessages.

void SetLogName ( const std::wstring &  name  )  [override, virtual]

Sets the name of the log file to the supplied name. Note that this creates a new log file with the specified name, it does NOT rename the existing log file. Note that you should manually synchronise access to this function and the various LogMessage and IWaitable calls.

Implements ILogMessages.

void LogMessage ( const VectorOfLines messages  )  [override, virtual]

Implements ILogMessages.

void LogMessage ( const DequeOfLines messages  )  [override, virtual]

Implements ILogMessages.

void LogMessage ( const std::string &  message  )  [override, virtual]

Logs the message to the log. Note that you should manually synchronise access to this function and the various SetLogName calls.

Implements ILogMessages.

void LogMessage ( const std::wstring &  message  )  [override, virtual]

Logs the message to the log. Note that you should manually synchronise access to this function and the various SetLogName calls.

Implements ILogMessages.

void LogMessage ( const char *  pString  )  [override, virtual]

Logs the message to the log. Note that you should manually synchronise access to this function and the various SetLogName calls.

Implements ILogMessages.

void LogMessage ( const wchar_t *  pString  )  [override, virtual]

Logs the message to the log. Note that you should manually synchronise access to this function and the various SetLogName calls.

Implements ILogMessages.

void LogMessage ( const char *  pString,
DataLength  stringLength 
) [override]

void LogMessage ( const wchar_t *  pString,
DataLength  stringLength 
) [override]

virtual void LogMessage ( const char *  pString,
DataLength  stringLength 
) [pure virtual, inherited]

Logs the message to the log. Note that you should manually synchronise access to this function and the various SetLogName calls.

virtual void LogMessage ( const wchar_t *  pString,
DataLength  stringLength 
) [pure virtual, inherited]

Logs the message to the log. Note that you should manually synchronise access to this function and the various SetLogName calls.


Generated on Sun Sep 12 19:08:42 2021 for The Server Framework - v7.4 by doxygen 1.5.3