18#ifndef _LOG4CXX_APPENDER_SKELETON_H
19#define _LOG4CXX_APPENDER_SKELETON_H
39#if LOG4CXX_ABI_VERSION <= 15
47 LOG4CXX_DECLARE_PRIVATE_MEMBER_PTR(AppenderSkeletonPrivate, m_priv)
80#if LOG4CXX_ABI_VERSION <= 15
85 [[ deprecated(
"The derived appender destructor needs to implement its cleanup" ) ]]
#define LOG4CXX_APPEND_FORMAL_PARAMETERS
Log in Appender specific way.
Definition appender.h:92
Implementation base class for all appenders.
Definition appenderskeleton.h:45
LogString getName() const override
Returns the name of this Appender.
void setErrorHandler(const spi::ErrorHandlerPtr eh)
Set the ErrorHandler for this Appender.
spi::FilterPtr getFilter() const override
Returns the head Filter.
virtual void append(const spi::LoggingEventPtr &event, helpers::Pool &p)=0
Subclasses of AppenderSkeleton must implement this method to perform actual logging.
void doAppend(const spi::LoggingEventPtr &event, helpers::Pool &p) override
Call AppenderSkeleton::doAppendImpl after acquiring a lock that prevents other threads from concurren...
const spi::FilterPtr getFirstFilter() const
Return the first filter in the filter chain for this Appender.
LayoutPtr getLayout() const override
Returns the layout of this appender.
void setOption(const LogString &option, const LogString &value) override
Set option to value.
const LevelPtr getThreshold() const
Returns this appenders threshold level.
void setName(const LogString &name1) override
Set the name of this Appender.
void setLayout(const LayoutPtr layout1) override
Set the layout for this appender.
void setThreshold(const LevelPtr &threshold)
Set the threshold level.
void addFilter(const spi::FilterPtr newFilter) override
Add a filter to end of the filter list.
bool isAsSevereAsThreshold(const LevelPtr &level) const
Check whether the message level is below the appender's threshold.
bool isAccepted(const spi::LoggingEventPtr &event) const
Does no attached filter deny event or does an attached filter accept event?
void clearFilters() override
Clear the filters chain.
void doAppendImpl(const spi::LoggingEventPtr &event, helpers::Pool &p)
Compare event level against the appender threshold and check that event is accepted.
AppenderSkeleton(LOG4CXX_PRIVATE_PTR(AppenderSkeletonPrivate) priv)
const spi::ErrorHandlerPtr getErrorHandler() const
Return the currently set spi::ErrorHandler for this Appender.
void finalize()
Finalize this appender by calling the derived class' close method.
void activateOptions(helpers::Pool &p) override
Implement this interface for your own strategies for outputting log statements.
Definition appender.h:55
base class for java-like objects.
Definition object.h:102
std::shared_ptr< ErrorHandler > ErrorHandlerPtr
Definition appender.h:38
std::shared_ptr< Filter > FilterPtr
Definition appender.h:35
std::basic_string< logchar > LogString
Definition logstring.h:60
std::shared_ptr< Level > LevelPtr
Definition optionconverter.h:28
std::shared_ptr< Layout > LayoutPtr
Definition appender.h:42
LOG4CXX_PTR_DEF(Appender)
#define LOG4CXX_CAST_ENTRY(Interface)
Definition object.h:154
#define DECLARE_ABSTRACT_LOG4CXX_OBJECT(object)
Definition object.h:37
#define END_LOG4CXX_CAST_MAP()
Definition object.h:148
#define BEGIN_LOG4CXX_CAST_MAP()
Definition object.h:142
#define LOG4CXX_ACTIVATE_OPTIONS_FORMAL_PARAMETERS
Activate the options that were previously set with calls to option setters.
Definition optionhandler.h:53