Provides asynchronous message logging. More...
#include <cadex/Utilities/LoggerAsyncHandler.hxx>
Public Member Functions | |
LoggerAsyncHandler () | |
Constructor. | |
void | Register (const std::shared_ptr< LoggerHandler > &theHandler, const LoggerLevel theMinLevel=LoggerLevel::Trace, const LoggerLevel theMaxLevel=LoggerLevel::Fatal) |
Adds a handler. | |
void | Unregister (const std::shared_ptr< LoggerHandler > &theHandler) |
Removes a handler. | |
![]() | |
virtual | ~LoggerHandler () |
Destructor. | |
internal::LoggerHandlerImpl * | Impl () const |
Reserved for internal use. | |
template<typename T > | |
T * | Impl () const |
Reserved for internal use. | |
Additional Inherited Members | |
![]() | |
LoggerHandler (std::unique_ptr< internal::LoggerHandlerImpl > &&theImpl) | |
Constructor. | |
Provides asynchronous message logging.
The asynchronous handler servers as a proxy object for the logger and is useful when a particular handler takes considerable time to process a message.
The asynchronous handler maintains a list of other registered handlers and forwards them a message in a separate thread.
The message is delivered to the handlers in the order they were registered in the asynchronous handler.