Home
Base module

AsyncLogWriter

Thread based log output stream writer.

AsyncLogWriter

#include <icy/logger.h>
class AsyncLogWriter

Defined in src/base/include/icy/logger.h:122

Inherits: LogWriter, Runnable

Thread based log output stream writer.

List of all members

NameKindOwner
AsyncLogWriterfunctionDeclared here
~AsyncLogWriterfunctionDeclared here
writefunctionDeclared here
flushfunctionDeclared here
runfunctionDeclared here
clearfunctionDeclared here
_threadvariableDeclared here
_pendingvariableDeclared here
_mutexvariableDeclared here
writeNextfunctionDeclared here
LogWriterfunctionInherited from LogWriter
~LogWriterfunctionInherited from LogWriter
writefunctionInherited from LogWriter
RunnablefunctionInherited from Runnable
~RunnablefunctionInherited from Runnable
runfunctionInherited from Runnable
cancelfunctionInherited from Runnable
cancelledfunctionInherited from Runnable
exitvariableInherited from Runnable

Inherited from LogWriter

KindNameDescription
functionLogWriter
function~LogWriter virtual
functionwrite virtualWrites the given log message stream.

Inherited from Runnable

KindNameDescription
functionRunnable inline
function~Runnable virtualDefaulted destructor.
functionrun virtualThe run method will be called by the asynchronous context.
functioncancel virtual inlineCancel the current task. The run() method should return ASAP.
functioncancelled virtual const inlineReturns true when the task has been cancelled.
variableexit

Public Methods

ReturnNameDescription
AsyncLogWriter
voidwrite virtual overrideQueues the given log message stream.
voidflushFlushes queued messages.
voidrun virtual overrideWrites queued messages asynchronously.
voidclearClears all queued messages.

AsyncLogWriter

AsyncLogWriter()

Defined in src/base/include/icy/logger.h:126


write

virtual override

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

Defined in src/base/include/icy/logger.h:130

Queues the given log message stream.

Reimplements

flush

void flush()

Defined in src/base/include/icy/logger.h:133

Flushes queued messages.


run

virtual override

virtual void run() override

Defined in src/base/include/icy/logger.h:136

Writes queued messages asynchronously.

Reimplements

clear

void clear()

Defined in src/base/include/icy/logger.h:139

Clears all queued messages.

Protected Attributes

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

_thread

Thread _thread

Defined in src/base/include/icy/logger.h:144


_pending

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

Defined in src/base/include/icy/logger.h:145


_mutex

std::mutex _mutex

Defined in src/base/include/icy/logger.h:146

Protected Methods

ReturnNameDescription
boolwriteNext

writeNext

bool writeNext()

Defined in src/base/include/icy/logger.h:142