Appender Class Reference

Inherits OptionHandler.

Inherited by AppenderSkeleton [virtual].

List of all members.


Detailed Description

Implement this interface for your own strategies for outputting log statements.


Public Member Functions

virtual ~Appender ()
virtual void addFilter (const spi::FilterPtr &newFilter)=0
 Add a filter to the end of the filter list.
virtual spi::FilterPtr getFilter () const =0
 Returns the head Filter.
virtual void clearFilters ()=0
 Clear the list of filters by removing all the filters in it.
virtual void close ()=0
 Release any resources allocated within the appender such as file handles, network connections, etc.
virtual void doAppend (const spi::LoggingEventPtr &event, log4cxx::helpers::Pool &pool)=0
 Log in Appender specific way.
virtual LogString getName () const =0
 Get the name of this appender.
virtual void setLayout (const LayoutPtr &layout)=0
 Set the Layout for this appender.
virtual LayoutPtr getLayout () const =0
 Returns this appenders layout.
virtual void setName (const LogString &name)=0
 Set the name of this appender.
virtual bool requiresLayout () const =0
 Configurators call this method to determine if the appender requires a layout.


Constructor & Destructor Documentation

virtual ~Appender  )  [inline, virtual]
 


Member Function Documentation

virtual void addFilter const spi::FilterPtr newFilter  )  [pure virtual]
 

Add a filter to the end of the filter list.

Implemented in AppenderSkeleton.

virtual void clearFilters  )  [pure virtual]
 

Clear the list of filters by removing all the filters in it.

Implemented in AppenderSkeleton.

virtual void close  )  [pure 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.

Implemented in AsyncAppender, ODBCAppender, SMTPAppender, SocketAppenderSkeleton, SocketHubAppender, SyslogAppender, TelnetAppender, NTEventLogAppender, OutputDebugStringAppender, RollingFileAppenderSkeleton, and WriterAppender.

virtual void doAppend const spi::LoggingEventPtr event,
log4cxx::helpers::Pool pool
[pure virtual]
 

Log in Appender specific way.

When appropriate, Loggers will call the doAppend method of appender implementations in order to log.

Implemented in AppenderSkeleton.

virtual spi::FilterPtr getFilter  )  const [pure virtual]
 

Returns the head Filter.

The Filters are organized in a linked list and so all Filters on this Appender are available through the result.

Returns:
the head Filter or null, if no Filters are present

Implemented in AppenderSkeleton.

virtual LayoutPtr getLayout  )  const [pure virtual]
 

Returns this appenders layout.

Implemented in AppenderSkeleton.

virtual LogString getName  )  const [pure virtual]
 

Get the name of this appender.

The name uniquely identifies the appender.

Implemented in AppenderSkeleton.

virtual bool requiresLayout  )  const [pure virtual]
 

Configurators call this method to determine if the appender requires a layout.

If this method returns true, meaning that layout is required, then the configurator will configure an layout using the configuration information at its disposal. If this method returns false, meaning that a layout is not required, then layout configuration will be skipped even if there is available layout configuration information at the disposal of the configurator..

In the rather exceptional case, where the appender implementation admits a layout but can also work without it, then the appender should return true.

Implemented in AsyncAppender, ODBCAppender, SMTPAppender, SocketAppenderSkeleton, SocketHubAppender, SyslogAppender, TelnetAppender, NTEventLogAppender, OutputDebugStringAppender, and WriterAppender.

virtual void setLayout const LayoutPtr layout  )  [pure virtual]
 

Set the Layout for this appender.

Implemented in AppenderSkeleton.

virtual void setName const LogString name  )  [pure virtual]
 

Set the name of this appender.

The name is used by other components to identify this appender.

Implemented in AppenderSkeleton.


The documentation for this class was generated from the following file: