public interface Appender extends LifeCycle
LogEvent
s. An Appender can contain a Layout
if applicable as well
as an ErrorHandler
. Typical Appender implementations coordinate with an
implementation of AbstractManager
to handle external resources
such as streams, connections, and other shared state. As Appenders are plugins, concrete implementations need to
be annotated with Plugin
and need to provide a static
factory method annotated with PluginFactory
.
Most core plugins are written using a related Manager class that handle the actual task of serializing a
LogEvent
to some output location. For instance, many Appenders can take
advantage of the OutputStreamManager
class.
It is recommended that Appenders don't do any heavy lifting since there can be many instances of the class
being used at any given time. When resources require locking (e.g., through FileLock
),
it is important to isolate synchronized code to prevent concurrency issues.
LifeCycle.State
Modifier and Type | Field and Description |
---|---|
static String |
ELEMENT_TYPE
Main plugin element type for
Appender plugins.
|
Modifier and Type | Method and Description |
---|---|
void |
append(LogEvent event)
Logs a LogEvent using whatever logic this Appender wishes to use.
|
ErrorHandler |
getHandler()
Gets the
ErrorHandler used for handling exceptions. |
Layout<? extends Serializable> |
getLayout()
Returns the Layout used by this Appender if applicable.
|
String |
getName()
Gets the name of this Appender.
|
boolean |
ignoreExceptions()
Some Appenders need to propagate exceptions back to the application.
|
void |
setHandler(ErrorHandler handler)
Sets the
ErrorHandler used for handling exceptions. |
static final String ELEMENT_TYPE
void append(LogEvent event)
event
- The LogEvent.Layout<? extends Serializable> getLayout()
null
if none is configured.boolean ignoreExceptions()
ignoreExceptions
is
false
the AppenderControl will allow the exception to percolate.true
if exceptions will be logged but not thrown, false
otherwise.ErrorHandler getHandler()
ErrorHandler
used for handling exceptions.void setHandler(ErrorHandler handler)
ErrorHandler
used for handling exceptions.handler
- the ErrorHandler to use for handling exceptions.Copyright © 1999-2021 The Apache Software Foundation. All Rights Reserved.
Apache Logging, Apache Log4j, Log4j, Apache, the Apache feather logo, the Apache Logging project logo, and the Apache Log4j logo are trademarks of The Apache Software Foundation.