log4cplus_AsyncAppender(3)

log4cplus::AsyncAppender(3) log4cplus log4cplus::AsyncAppender(3)

NAME

log4cplus::AsyncAppender - This Appender is a wrapper to which other appenders can be attached.

SYNOPSIS

#include <asyncappender.h>

Inherits log4cplus::Appender, and log4cplus::helpers::AppenderAttachableImpl.

Public Member Functions


AsyncAppender (SharedAppenderPtr const &app, unsigned max_len)
AsyncAppender (helpers::Properties const &)
virtual ~AsyncAppender ()
virtual void close ()
Release any resources allocated within the appender such as file handles, network connections, etc.

Public Member Functions inherited from log4cplus::Appender
Appender ()
Appender (const log4cplus::helpers::Properties &properties)
virtual ~Appender ()
void destructorImpl ()
This function is for derived appenders to call from their destructors. bool isClosed () const
Check if this appender is in closed state. void syncDoAppend (const log4cplus::spi::InternalLoggingEvent &event)
This method performs threshold checks and invokes filters before delegating actual logging to the subclasses specific append method. void asyncDoAppend (const log4cplus::spi::InternalLoggingEvent &event)
This method performs book keeping related to asynchronous logging and executes syncDoAppend() to do the actual logging. void doAppend (const log4cplus::spi::InternalLoggingEvent &event)
This function checks async flag. virtual log4cplus::tstring getName ()
Get the name of this appender. virtual void setName (const log4cplus::tstring &name)
Set the name of this appender. virtual void setErrorHandler (std::unique_ptr< ErrorHandler > eh)
Set the ErrorHandler for this Appender. virtual ErrorHandler * getErrorHandler ()
Return the currently set ErrorHandler for this Appender. virtual void setLayout (std::unique_ptr< Layout > layout)
Set the layout for this appender. virtual Layout * getLayout ()
Returns the layout of this appender. void setFilter (log4cplus::spi::FilterPtr f)
Set the filter chain on this Appender. log4cplus::spi::FilterPtr getFilter () const
Get the filter chain on this Appender. void addFilter (log4cplus::spi::FilterPtr f)
Add filter at the end of the filters chain. void addFilter (std::function< spi::FilterResult(const log4cplus::spi::InternalLoggingEvent &)>)
Add filter at the end of the filters chain. LogLevel getThreshold () const
Returns this appenders threshold LogLevel. void setThreshold (LogLevel th)
Set the threshold LogLevel. bool isAsSevereAsThreshold (LogLevel ll) const
Check whether the message LogLevel is below the appender's threshold. void waitToFinishAsyncLogging ()
This method waits for all events that are being asynchronously logged to finish.

Public Member Functions inherited from log4cplus::helpers::SharedObject
void addReference () const LOG4CPLUS_NOEXCEPT
void removeReference () const

Public Member Functions inherited from log4cplus::helpers::AppenderAttachableImpl
AppenderAttachableImpl ()
virtual ~AppenderAttachableImpl ()
virtual void addAppender (SharedAppenderPtr newAppender)
Add an appender. virtual SharedAppenderPtrList getAllAppenders ()
Get all previously added appenders as an vectory. virtual SharedAppenderPtr getAppender (const log4cplus::tstring &name)
Look for an attached appender named as name. virtual void removeAllAppenders ()
Remove all previously added appenders. virtual void removeAppender (SharedAppenderPtr appender)
Remove the appender passed as parameter from the list of appenders. virtual void removeAppender (const log4cplus::tstring &name)
Remove the appender with the name passed as parameter from the list of appenders. int appendLoopOnAppenders (const spi::InternalLoggingEvent &event) const
Call the doAppend method on all attached appenders.

Public Member Functions inherited from log4cplus::spi::AppenderAttachable
virtual ~AppenderAttachable ()=0

Protected Member Functions


virtual void append (spi::InternalLoggingEvent const &)
Subclasses of Appender should implement this method to perform actual logging. void init_queue_thread (unsigned)

Protected Member Functions inherited from log4cplus::Appender
tstring & formatEvent (const log4cplus::spi::InternalLoggingEvent &event) const

Protected Member Functions inherited from log4cplus::helpers::SharedObject
SharedObject ()
SharedObject (const SharedObject &)
SharedObject (SharedObject &&)
virtual ~SharedObject ()
SharedObject & operator= (const SharedObject &) LOG4CPLUS_NOEXCEPT
SharedObject & operator= (SharedObject &&) LOG4CPLUS_NOEXCEPT

Protected Attributes


thread::AbstractThreadPtr queue_thread
thread::QueuePtr queue

Protected Attributes inherited from log4cplus::Appender
std::unique_ptr< Layout > layout
The layout variable does not need to be set if the appender implementation has its own layout. log4cplus::tstring name
Appenders are named. LogLevel threshold
There is no LogLevel threshold filtering by default. log4cplus::spi::FilterPtr filter
The first filter in the filter chain. std::unique_ptr< ErrorHandler > errorHandler
It is assumed and enforced that errorHandler is never null. std::unique_ptr< helpers::LockFile > lockFile
Optional system wide synchronization lock. bool useLockFile
Use lock file for inter-process synchronization of access to log file. bool async
Asynchronous append. std::atomic< std::size_t > in_flight
std::mutex in_flight_mutex
std::condition_variable in_flight_condition
bool closed
Is this appender closed?

Protected Attributes inherited from log4cplus::helpers::AppenderAttachableImpl
ListType appenderList
Array of appenders.

Additional Inherited Members

Public Attributes inherited from log4cplus::helpers::SharedObject
thread::Mutex access_mutex

Public Attributes inherited from log4cplus::helpers::AppenderAttachableImpl
thread::Mutex appender_list_mutex

Protected Types inherited from log4cplus::helpers::AppenderAttachableImpl
typedef std::vector< SharedAppenderPtr > ListType

Detailed Description

This Appender is a wrapper to which other appenders can be attached.

The attached appendres are then appended to from a separate thread which reads events appended to this appender from a queue.

Properties

QueueLimit
Events queue size limit. Default is 100.
Appender
Appender and its properties to use as sink for logged events.

See also

helpers::AppenderAttachableImpl

Definition at line 77 of file asyncappender.h.

Constructor & Destructor Documentation

log4cplus::AsyncAppender::AsyncAppender (SharedAppenderPtr const & app, unsigned max_len)

log4cplus::AsyncAppender::AsyncAppender (helpers::Properties const &)

virtual log4cplus::AsyncAppender::~AsyncAppender () [virtual]

Member Function Documentation

virtual void log4cplus::AsyncAppender::append (spi::InternalLoggingEvent const & event) [protected], [virtual]

Subclasses of Appender should implement this method to perform actual logging.

See also

doAppend method.

Implements log4cplus::Appender.

virtual void log4cplus::AsyncAppender::close () [virtual]

Release any resources allocated within the appender such as file handles, network connections, etc. It is a programming error to append to a closed appender.

Implements log4cplus::Appender.

void log4cplus::AsyncAppender::init_queue_thread (unsigned) [protected]

Member Data Documentation

thread::QueuePtr log4cplus::AsyncAppender::queue [protected]

Definition at line 94 of file asyncappender.h.

thread::AbstractThreadPtr log4cplus::AsyncAppender::queue_thread [protected]

Definition at line 93 of file asyncappender.h.

Author

Generated automatically by Doxygen for log4cplus from the source code.

Mon Jun 5 2023 21:46:10 Version 2.0.7