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:121

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:125


write

virtual override

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

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

Queues the given log message stream.

Reimplements

flush

void flush()

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

Flushes queued messages.


run

virtual override

virtual void run() override

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

Writes queued messages asynchronously.

Reimplements

clear

void clear()

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

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:143


_pending

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

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


_mutex

std::mutex _mutex

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

Protected Methods

ReturnNameDescription
boolwriteNext

writeNext

bool writeNext()

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