org.apache.logging.log4j.flume.appender
Class FlumeAppender
java.lang.Object
org.apache.logging.log4j.core.AbstractLifeCycle
org.apache.logging.log4j.core.filter.AbstractFilterable
org.apache.logging.log4j.core.appender.AbstractAppender
org.apache.logging.log4j.flume.appender.FlumeAppender
- All Implemented Interfaces:
- Serializable, org.apache.logging.log4j.core.Appender, org.apache.logging.log4j.core.filter.Filterable, org.apache.logging.log4j.core.LifeCycle, FlumeEventFactory
@Plugin(name="Flume",
category="Core",
elementType="appender",
printObject=true)
public final class FlumeAppender
- extends org.apache.logging.log4j.core.appender.AbstractAppender
- implements FlumeEventFactory
An Appender that uses the Avro protocol to route events to Flume.
- See Also:
- Serialized Form
Nested classes/interfaces inherited from interface org.apache.logging.log4j.core.LifeCycle |
org.apache.logging.log4j.core.LifeCycle.State |
Fields inherited from class org.apache.logging.log4j.core.AbstractLifeCycle |
LOGGER |
Method Summary |
void |
append(org.apache.logging.log4j.core.LogEvent event)
Publish the event. |
static FlumeAppender |
createAppender(Agent[] agents,
org.apache.logging.log4j.core.config.Property[] properties,
String embedded,
String type,
String dataDir,
String connectionTimeoutMillis,
String requestTimeoutMillis,
String agentRetries,
String maxDelayMillis,
String name,
String ignore,
String excludes,
String includes,
String required,
String mdcPrefix,
String eventPrefix,
String compressBody,
String batchSize,
String lockTimeoutRetries,
FlumeEventFactory factory,
org.apache.logging.log4j.core.Layout<? extends Serializable> layout,
org.apache.logging.log4j.core.Filter filter)
Create a Flume Avro Appender. |
FlumeEvent |
createEvent(org.apache.logging.log4j.core.LogEvent event,
String includes,
String excludes,
String required,
String mdcPrefix,
String eventPrefix,
boolean compress)
Create a Flume event. |
void |
stop()
|
Methods inherited from class org.apache.logging.log4j.core.appender.AbstractAppender |
error, error, error, getHandler, getLayout, getName, ignoreExceptions, parseInt, setHandler, toString |
Methods inherited from class org.apache.logging.log4j.core.filter.AbstractFilterable |
addFilter, getFilter, hasFilter, isFiltered, removeFilter, start |
Methods inherited from class org.apache.logging.log4j.core.AbstractLifeCycle |
equalsImpl, getState, hashCodeImpl, isInitialized, isStarted, isStarting, isStopped, isStopping, setStarted, setStarting, setState, setStopped, setStopping |
Methods inherited from interface org.apache.logging.log4j.core.LifeCycle |
getState, isStarted, isStopped, start |
append
public void append(org.apache.logging.log4j.core.LogEvent event)
- Publish the event.
- Specified by:
append
in interface org.apache.logging.log4j.core.Appender
- Parameters:
event
- The LogEvent.
stop
public void stop()
- Specified by:
stop
in interface org.apache.logging.log4j.core.LifeCycle
- Overrides:
stop
in class org.apache.logging.log4j.core.filter.AbstractFilterable
createEvent
public FlumeEvent createEvent(org.apache.logging.log4j.core.LogEvent event,
String includes,
String excludes,
String required,
String mdcPrefix,
String eventPrefix,
boolean compress)
- Create a Flume event.
- Specified by:
createEvent
in interface FlumeEventFactory
- Parameters:
event
- The Log4j LogEvent.includes
- comma separated list of mdc elements to include.excludes
- comma separated list of mdc elements to exclude.required
- comma separated list of mdc elements that must be present with a value.mdcPrefix
- The prefix to add to MDC key names.eventPrefix
- The prefix to add to event fields.compress
- If true the body will be compressed.
- Returns:
- A Flume Event.
createAppender
@PluginFactory
public static FlumeAppender createAppender(@PluginElement(value="Agents")
Agent[] agents,
@PluginElement(value="Properties")
org.apache.logging.log4j.core.config.Property[] properties,
@PluginAttribute(value="embedded")
String embedded,
@PluginAttribute(value="type")
String type,
@PluginAttribute(value="dataDir")
String dataDir,
@PluginAliases(value="connectTimeout")@PluginAttribute(value="connectTimeoutMillis")
String connectionTimeoutMillis,
@PluginAliases(value="requestTimeout")@PluginAttribute(value="requestTimeoutMillis")
String requestTimeoutMillis,
@PluginAttribute(value="agentRetries")
String agentRetries,
@PluginAliases(value="maxDelay")@PluginAttribute(value="maxDelayMillis")
String maxDelayMillis,
@PluginAttribute(value="name")
String name,
@PluginAttribute(value="ignoreExceptions")
String ignore,
@PluginAttribute(value="mdcExcludes")
String excludes,
@PluginAttribute(value="mdcIncludes")
String includes,
@PluginAttribute(value="mdcRequired")
String required,
@PluginAttribute(value="mdcPrefix")
String mdcPrefix,
@PluginAttribute(value="eventPrefix")
String eventPrefix,
@PluginAttribute(value="compress")
String compressBody,
@PluginAttribute(value="batchSize")
String batchSize,
@PluginAttribute(value="lockTimeoutRetries")
String lockTimeoutRetries,
@PluginElement(value="FlumeEventFactory")
FlumeEventFactory factory,
@PluginElement(value="Layout")
org.apache.logging.log4j.core.Layout<? extends Serializable> layout,
@PluginElement(value="Filter")
org.apache.logging.log4j.core.Filter filter)
- Create a Flume Avro Appender.
- Parameters:
agents
- An array of Agents.properties
- Properties to pass to the embedded agent.embedded
- true if the embedded agent manager should be used. otherwise the Avro manager will be used.
Note: The embedded attribute is deprecated in favor of specifying the type attribute.type
- Avro (default), Embedded, or Persistent.dataDir
- The directory where the Flume FileChannel should write its data.connectionTimeoutMillis
- The amount of time in milliseconds to wait before a connection times out. Minimum is
1000.requestTimeoutMillis
- The amount of time in milliseconds to wait before a request times out. Minimum is 1000.agentRetries
- The number of times to retry an agent before failing to the next agent.maxDelayMillis
- The maximum number of milliseconds to wait for a complete batch.name
- The name of the Appender.ignore
- If "true"
(default) exceptions encountered when appending events are logged; otherwise
they are propagated to the caller.excludes
- A comma separated list of MDC elements to exclude.includes
- A comma separated list of MDC elements to include.required
- A comma separated list of MDC elements that are required.mdcPrefix
- The prefix to add to MDC key names.eventPrefix
- The prefix to add to event key names.compressBody
- If true the event body will be compressed.batchSize
- Number of events to include in a batch. Defaults to 1.lockTimeoutRetries
- Times to retry a lock timeout when writing to Berkeley DB.factory
- The factory to use to create Flume events.layout
- The layout to format the event.filter
- A Filter to filter events.
- Returns:
- A Flume Avro Appender.
Copyright © 1999-2015 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.