DDNet documentation
Loading...
Searching...
No Matches
CTestLogger Class Reference
Inheritance diagram for CTestLogger:
[legend]
Collaboration diagram for CTestLogger:
[legend]

Public Member Functions

 CTestLogger (std::unique_ptr< ILogger > &&pGlobalLogger)
void Log (const CLogMessage *pMessage) override
void GlobalFinish () override
Public Member Functions inherited from ILogger
virtual ~ILogger ()=default
void SetFilter (const CLogFilter &Filter)
virtual void OnFilterChange ()

Private Attributes

std::unique_ptr< ILoggerm_pGlobalLogger
std::unique_ptr< CMemoryLoggerm_pMemoryLogger
std::mutex m_Lock

Friends

class CTestLogListener

Additional Inherited Members

Protected Attributes inherited from ILogger
CLogFilter m_Filter

Constructor & Destructor Documentation

◆ CTestLogger()

CTestLogger::CTestLogger ( std::unique_ptr< ILogger > && pGlobalLogger)
inline

Member Function Documentation

◆ GlobalFinish()

void CTestLogger::GlobalFinish ( )
inlineoverridevirtual

Flushes output buffers and shuts down. Global loggers cannot be destroyed because they might be accessed from multiple threads concurrently.

This function is called on the global logger by log_global_logger_finish when the program is about to shut down and loggers are supposed to finish writing the log messages they have received so far.

The destructor of this ILogger instance will not be called if this function is called.

See also
log_global_logger_finish

Reimplemented from ILogger.

◆ Log()

void CTestLogger::Log ( const CLogMessage * pMessage)
inlineoverridevirtual

Send the specified message to the logging backend.

Parameters
pMessageStruct describing the log message.

Implements ILogger.

◆ CTestLogListener

friend class CTestLogListener
friend

Member Data Documentation

◆ m_Lock

std::mutex CTestLogger::m_Lock
private

◆ m_pGlobalLogger

std::unique_ptr<ILogger> CTestLogger::m_pGlobalLogger
private

◆ m_pMemoryLogger

std::unique_ptr<CMemoryLogger> CTestLogger::m_pMemoryLogger
private

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