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

CDebugTrace Class Reference
[Debug logging and tracingLog files and the pluggable logging system]

Inheritance diagram for CDebugTrace:
Collaboration diagram for CDebugTrace:

List of all members.

Public Types

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

ILogMessagesSetLog (ILogMessages &log)
void ClearLog ()
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.

Static Public Member Functions

static bool IsValid ()
static CDebugTraceInstance ()

Classes

class  LogInstaller
 A class that takes an instance of ILogMessages and installs it as the message log used by the CDebugTrace class and then removes it and reinstalls the previous log in its destructor. It can, therefore, be used to support scope based log installation and removal. More...


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 Function Documentation

bool IsValid (  )  [static]

CDebugTrace & Instance (  )  [static]

ILogMessages * SetLog ( ILogMessages log  )  [inherited]

void ClearLog (  )  [inherited]

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

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, inherited]

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, inherited]

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, inherited]

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, inherited]

Implements ILogMessages.

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

Implements ILogMessages.

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

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, inherited]

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, inherited]

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, inherited]

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, inherited]

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

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:25 2021 for The Server Framework - v7.4 by doxygen 1.5.3