@Plugin(name="Routing", category="Core", elementType="appender", printObject=true) public final class RoutingAppender extends AbstractAppender
Modifier and Type | Class and Description |
---|---|
static class |
RoutingAppender.Builder<B extends RoutingAppender.Builder<B>> |
LifeCycle.State
Modifier and Type | Field and Description |
---|---|
private java.util.concurrent.ConcurrentMap<java.lang.String,AppenderControl> |
appenders |
private Configuration |
configuration |
private static java.lang.String |
DEFAULT_KEY |
private Route |
defaultRoute |
private AbstractScript |
defaultRouteScript |
private PurgePolicy |
purgePolicy |
private RewritePolicy |
rewritePolicy |
private Routes |
routes |
private java.util.concurrent.ConcurrentMap<java.lang.Object,java.lang.Object> |
scriptStaticVariables |
static java.lang.String |
STATIC_VARIABLES_KEY |
DEFAULT_STOP_TIMEOUT, DEFAULT_STOP_TIMEUNIT, LOGGER
ELEMENT_TYPE
Modifier | Constructor and Description |
---|---|
private |
RoutingAppender(java.lang.String name,
Filter filter,
boolean ignoreExceptions,
Routes routes,
RewritePolicy rewritePolicy,
Configuration configuration,
PurgePolicy purgePolicy,
AbstractScript defaultRouteScript) |
Modifier and Type | Method and Description |
---|---|
void |
append(LogEvent event)
Logs a LogEvent using whatever logic this Appender wishes to use.
|
private Appender |
createAppender(Route route,
LogEvent event) |
static RoutingAppender |
createAppender(java.lang.String name,
java.lang.String ignore,
Routes routes,
Configuration config,
RewritePolicy rewritePolicy,
PurgePolicy purgePolicy,
Filter filter)
Deprecated.
Since 2.7; use
newBuilder() |
void |
deleteAppender(java.lang.String key)
Deletes the specified appender.
|
java.util.Map<java.lang.String,AppenderControl> |
getAppenders() |
Configuration |
getConfiguration() |
private AppenderControl |
getControl(java.lang.String key,
LogEvent event) |
Route |
getDefaultRoute() |
AbstractScript |
getDefaultRouteScript() |
PurgePolicy |
getPurgePolicy() |
RewritePolicy |
getRewritePolicy() |
Routes |
getRoutes() |
java.util.concurrent.ConcurrentMap<java.lang.Object,java.lang.Object> |
getScriptStaticVariables() |
static <B extends RoutingAppender.Builder<B>> |
newBuilder() |
void |
start()
Make the Filter available for use.
|
boolean |
stop(long timeout,
java.util.concurrent.TimeUnit timeUnit)
Cleanup the Filter.
|
error, error, error, getHandler, getLayout, getName, ignoreExceptions, parseInt, setHandler, toString
addFilter, getFilter, hasFilter, isFiltered, removeFilter, stop
equalsImpl, getState, getStatusLogger, hashCodeImpl, initialize, isInitialized, isStarted, isStarting, isStopped, isStopping, setStarted, setStarting, setState, setStopped, setStopping, stop, stop
public static final java.lang.String STATIC_VARIABLES_KEY
private static final java.lang.String DEFAULT_KEY
private final Routes routes
private Route defaultRoute
private final Configuration configuration
private final java.util.concurrent.ConcurrentMap<java.lang.String,AppenderControl> appenders
private final RewritePolicy rewritePolicy
private final PurgePolicy purgePolicy
private final AbstractScript defaultRouteScript
private final java.util.concurrent.ConcurrentMap<java.lang.Object,java.lang.Object> scriptStaticVariables
private RoutingAppender(java.lang.String name, Filter filter, boolean ignoreExceptions, Routes routes, RewritePolicy rewritePolicy, Configuration configuration, PurgePolicy purgePolicy, AbstractScript defaultRouteScript)
@PluginBuilderFactory public static <B extends RoutingAppender.Builder<B>> B newBuilder()
public void start()
AbstractFilterable
start
in interface LifeCycle
start
in class AbstractFilterable
public boolean stop(long timeout, java.util.concurrent.TimeUnit timeUnit)
AbstractFilterable
stop
in interface LifeCycle2
stop
in class AbstractFilterable
timeout
- the maximum time to waittimeUnit
- the time unit of the timeout argumentpublic void append(LogEvent event)
Appender
event
- The LogEvent.private AppenderControl getControl(java.lang.String key, LogEvent event)
public java.util.Map<java.lang.String,AppenderControl> getAppenders()
public void deleteAppender(java.lang.String key)
key
- The appender's key@Deprecated public static RoutingAppender createAppender(java.lang.String name, java.lang.String ignore, Routes routes, Configuration config, RewritePolicy rewritePolicy, PurgePolicy purgePolicy, Filter filter)
newBuilder()
name
- The name of the Appender.ignore
- If "true"
(default) exceptions encountered when appending events are logged; otherwise
they are propagated to the caller.routes
- The routing definitions.config
- The Configuration (automatically added by the Configuration).rewritePolicy
- A RewritePolicy, if any.filter
- A Filter to restrict events processed by the Appender or null.public Route getDefaultRoute()
public AbstractScript getDefaultRouteScript()
public PurgePolicy getPurgePolicy()
public RewritePolicy getRewritePolicy()
public Routes getRoutes()
public Configuration getConfiguration()
public java.util.concurrent.ConcurrentMap<java.lang.Object,java.lang.Object> getScriptStaticVariables()