Base module

AsyncLogWriter

[Thread]({#ref classicy_1_1Thread #}) based log output stream writer.

AsyncLogWriter

#include <icy/logger.h>

Inherits: LogWriter, Runnable

Thread based log output stream writer.

Public Methods

ReturnNameDescription
AsyncLogWriter
voidwrite virtualQueues the given log message stream.
voidflushFlushes queued messages.
voidrun virtualWrites queued messages asynchronously.
voidclearClears all queued messages.

AsyncLogWriter

AsyncLogWriter()

write

virtual

virtual void write(std::unique_ptr< LogStream > stream)

Queues the given log message stream.


flush

void flush()

Flushes queued messages.


run

virtual

virtual void run()

Writes queued messages asynchronously.


clear

void clear()

Clears all queued messages.

Protected Attributes

ReturnNameDescription
Thread_thread
std::deque< std::unique_ptr< LogStream > >_pending
std::mutex_mutex

_thread

Thread _thread

_pending

std::deque< std::unique_ptr< LogStream > > _pending

_mutex

std::mutex _mutex

Protected Methods

ReturnNameDescription
boolwriteNext

writeNext

bool writeNext()