## org.apache.log4j
Interface Appender

All Known Implementing Classes:
  AppenderSkeleton, AsyncAppender, ConsoleAppender, DailyRollingFileAppender, ExternallyRolledFileAppender, FileAppender, JDBCAppender, JMSAppender, LF5Appender, NTEventLogAppender, NullAppender, RollingFileAppender, SMTPAppender, SocketAppender, SocketHubAppender, SyslogAppender, TelnetAppender, WriterAppender

    public interface Appender

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

Author:
  Ceki Gülcü

Method Summary
`void` `addFilter(Filter newFilter)` Add a filter to the end of the filter list.
`void` `clearFilters()` Clear the list of filters by removing all the filters in it.
`void` `close()` Release any resources allocated within the appender such as file handles, network connections, etc.
`void` `doAppend(LoggingEvent event)` Log in `Appender` specific way.
`ErrorHandler` `getErrorHandler()` Returns the `ErrorHandler` for this appender.
`Filter` `getFilter()` Returns the head Filter.
`Layout` `getLayout()` Returns this appenders layout.
`String` `getName()` Get the name of this appender.
`boolean` `requiresLayout()` Configurators call this method to determine if the appender requires a layout.
`void` `setErrorHandler(ErrorHandler errorHandler)` Set the `ErrorHandler` for this appender.
`void` `setLayout(Layout layout)` Set the `Layout` for this appender.
`void` `setName(String name)` Set the name of this appender.

Method Detail

### addFilter

    void addFilter(Filter newFilter)

  Add a filter to the end of the filter list.

  Since:
    0.9.0

### getFilter

    Filter getFilter()

  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
  Since:
    1.1

### clearFilters

    void clearFilters()

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

  Since:
    0.9.0

### close

    void close()

  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.

  Since:
    0.8.4

### doAppend

    void doAppend(LoggingEvent event)

  Log in `Appender` specific way. When appropriate, Loggers will call the `doAppend` method of appender implementations in order to log.

### getName

    String getName()

  Get the name of this appender.

  Returns:
    name, may be null.

### setErrorHandler

    void setErrorHandler(ErrorHandler errorHandler)

  Set the `ErrorHandler` for this appender.

  Since:
    0.9.0

### getErrorHandler

    ErrorHandler getErrorHandler()

  Returns the `ErrorHandler` for this appender.

  Since:
    1.1

### setLayout

    void setLayout(Layout layout)

  Set the `Layout` for this appender.

  Since:
    0.8.1

### getLayout

    Layout getLayout()

  Returns this appenders layout.

  Since:
    1.1

### setName

    void setName(String name)

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

  Since:
    0.8.1

### requiresLayout

    boolean requiresLayout()

  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`.

  Since:
    0.8.4

Copyright © 1999-2010 Apache Software Foundation. All Rights Reserved.