public abstract class AbstractConfiguration extends AbstractFilterable implements Configuration
AbstractFilterable.Builder<B extends AbstractFilterable.Builder<B>>LifeCycle.State| Modifier and Type | Field and Description |
|---|---|
protected boolean |
isShutdownHookEnabled
Shutdown hook is enabled by default.
|
protected List<ConfigurationListener> |
listeners
Listeners for configuration changes.
|
protected PluginManager |
pluginManager
The plugin manager.
|
protected List<String> |
pluginPackages
Packages found in configuration "packages" attribute.
|
protected Node |
rootNode
The root node of the configuration.
|
protected ScriptManager |
scriptManager
The Script manager.
|
protected long |
shutdownTimeoutMillis
Shutdown timeout in milliseconds.
|
DEFAULT_STOP_TIMEOUT, DEFAULT_STOP_TIMEUNIT, LOGGERCONTEXT_PROPERTIES| Modifier | Constructor and Description |
|---|---|
protected |
AbstractConfiguration(LoggerContext loggerContext,
ConfigurationSource configurationSource)
Constructor.
|
| Modifier and Type | Method and Description |
|---|---|
void |
addAppender(Appender appender)
Adds an Appender to the configuration.
|
void |
addComponent(String componentName,
Object obj) |
void |
addListener(ConfigurationListener listener)
Add a listener for changes on the configuration.
|
void |
addLogger(String loggerName,
LoggerConfig loggerConfig)
Add a loggerConfig.
|
void |
addLoggerAppender(Logger logger,
Appender appender)
Associates an Appender with a LoggerConfig.
|
void |
addLoggerFilter(Logger logger,
Filter filter)
Associates a Filter with a LoggerConfig.
|
protected void |
createAdvertiser(String advertiserString,
ConfigurationSource configSource,
byte[] buffer,
String contentType) |
void |
createConfiguration(Node node,
LogEvent event) |
protected void |
doConfigure() |
Advertiser |
getAdvertiser() |
<T extends Appender> |
getAppender(String appenderName)
Returns the Appender with the specified name.
|
Map<String,Appender> |
getAppenders()
Returns a Map containing all the Appenders and their name.
|
AsyncLoggerConfigDelegate |
getAsyncLoggerConfigDelegate()
Returns the
AsyncLoggerConfigDelegate shared by all
AsyncLoggerConfig instances defined in this Configuration. |
<T> T |
getComponent(String componentName) |
ConfigurationSource |
getConfigurationSource()
Returns the source of this configuration.
|
StrSubstitutor |
getConfigurationStrSubstitutor() |
List<CustomLevelConfig> |
getCustomLevels()
Returns a list of descriptors of the custom levels defined in the current configuration.
|
protected Level |
getDefaultStatus() |
LoggerConfig |
getLogger(String loggerName)
Returns the LoggerConfig with the specified name.
|
LoggerConfig |
getLoggerConfig(String loggerName)
Locates the appropriate LoggerConfig for a Logger name.
|
LoggerContext |
getLoggerContext()
Gets the logger context.
|
Map<String,LoggerConfig> |
getLoggers()
Returns a Map of all the LoggerConfigs.
|
String |
getName()
Returns the name of the configuration.
|
NanoClock |
getNanoClock()
Returns the
NanoClock instance for this configuration. |
PluginManager |
getPluginManager() |
List<String> |
getPluginPackages()
Returns the list of packages to scan for plugins for this Configuration.
|
Map<String,String> |
getProperties() |
ReliabilityStrategy |
getReliabilityStrategy(LoggerConfig loggerConfig) |
LoggerConfig |
getRootLogger()
Returns the root Logger.
|
Node |
getRootNode() |
ConfigurationScheduler |
getScheduler() |
ScriptManager |
getScriptManager() |
long |
getShutdownTimeoutMillis() |
StrSubstitutor |
getStrSubstitutor() |
WatchManager |
getWatchManager()
Return the WatchManager.
|
void |
initialize()
Initialize the configuration.
|
protected void |
initializeWatchers(Reconfigurable reconfigurable,
ConfigurationSource configSource,
int monitorIntervalSeconds) |
boolean |
isShutdownHookEnabled() |
protected void |
preConfigure(Node node) |
void |
removeAppender(String appenderName)
Remove an Appender.
|
void |
removeListener(ConfigurationListener listener)
Remove a ConfigurationListener.
|
void |
removeLogger(String loggerName)
Remove a LoggerConfig.
|
void |
setAdvertiser(Advertiser advertiser) |
void |
setLoggerAdditive(Logger logger,
boolean additive)
Marks a LoggerConfig as additive.
|
void |
setName(String name)
Set the name of the configuration.
|
void |
setNanoClock(NanoClock nanoClock)
Sets the
NanoClock instance for this configuration. |
void |
setPluginManager(PluginManager pluginManager) |
void |
setScriptManager(ScriptManager scriptManager) |
protected void |
setToDefault() |
void |
setup() |
void |
start()
Start the configuration.
|
boolean |
stop(long timeout,
TimeUnit timeUnit)
Tear down the configuration.
|
protected static byte[] |
toByteArray(InputStream is)
Reads an InputStream using buffered reads into a byte array buffer.
|
addFilter, getFilter, getPropertyArray, hasFilter, isFiltered, removeFilter, stopequalsImpl, getState, getStatusLogger, hashCodeImpl, isInitialized, isStarted, isStarting, isStopped, isStopping, setStarted, setStarting, setState, setStopped, setStopping, stop, stopclone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitaddFilter, getFilter, hasFilter, isFiltered, removeFilterprotected Node rootNode
protected final List<ConfigurationListener> listeners
protected final List<String> pluginPackages
protected PluginManager pluginManager
protected boolean isShutdownHookEnabled
protected long shutdownTimeoutMillis
protected ScriptManager scriptManager
protected AbstractConfiguration(LoggerContext loggerContext, ConfigurationSource configurationSource)
public ConfigurationSource getConfigurationSource()
ConfigurationgetConfigurationSource in interface Configurationnull, but may be
ConfigurationSource.NULL_SOURCE.public List<String> getPluginPackages()
ConfigurationgetPluginPackages in interface Configurationpublic Map<String,String> getProperties()
getProperties in interface Configurationpublic ScriptManager getScriptManager()
getScriptManager in interface Configurationpublic void setScriptManager(ScriptManager scriptManager)
public PluginManager getPluginManager()
public void setPluginManager(PluginManager pluginManager)
public WatchManager getWatchManager()
ConfigurationgetWatchManager in interface Configurationpublic ConfigurationScheduler getScheduler()
getScheduler in interface Configurationpublic Node getRootNode()
public AsyncLoggerConfigDelegate getAsyncLoggerConfigDelegate()
ConfigurationAsyncLoggerConfigDelegate shared by all
AsyncLoggerConfig instances defined in this Configuration.getAsyncLoggerConfigDelegate in interface ConfigurationAsyncLoggerConfigDelegatepublic void initialize()
initialize in interface LifeCycleinitialize in class AbstractLifeCycleprotected void initializeWatchers(Reconfigurable reconfigurable, ConfigurationSource configSource, int monitorIntervalSeconds)
public void start()
start in interface LifeCyclestart in class AbstractFilterablepublic boolean stop(long timeout,
TimeUnit timeUnit)
stop in interface LifeCycle2stop in class AbstractFilterabletimeout - the maximum time to waittimeUnit - the time unit of the timeout argumentpublic boolean isShutdownHookEnabled()
isShutdownHookEnabled in interface Configurationpublic long getShutdownTimeoutMillis()
getShutdownTimeoutMillis in interface Configurationpublic void setup()
protected Level getDefaultStatus()
protected void createAdvertiser(String advertiserString, ConfigurationSource configSource, byte[] buffer, String contentType)
public <T> T getComponent(String componentName)
getComponent in interface Configurationpublic void addComponent(String componentName, Object obj)
addComponent in interface Configurationprotected void preConfigure(Node node)
protected void doConfigure()
protected void setToDefault()
public void setName(String name)
name - The name.public String getName()
getName in interface Configurationpublic void addListener(ConfigurationListener listener)
addListener in interface Configurationlistener - The ConfigurationListener to add.public void removeListener(ConfigurationListener listener)
removeListener in interface Configurationlistener - The ConfigurationListener to remove.public <T extends Appender> T getAppender(String appenderName)
getAppender in interface ConfigurationT - The expected Appender type.appenderName - The name of the Appender.public Map<String,Appender> getAppenders()
getAppenders in interface Configurationpublic void addAppender(Appender appender)
addAppender in interface Configurationappender - The Appender to add.public StrSubstitutor getStrSubstitutor()
getStrSubstitutor in interface Configurationpublic StrSubstitutor getConfigurationStrSubstitutor()
public void setAdvertiser(Advertiser advertiser)
setAdvertiser in interface Configurationpublic Advertiser getAdvertiser()
getAdvertiser in interface Configurationpublic ReliabilityStrategy getReliabilityStrategy(LoggerConfig loggerConfig)
getReliabilityStrategy in interface Configurationpublic void addLoggerAppender(Logger logger, Appender appender)
addLoggerAppender in interface Configurationlogger - The Logger the Appender will be associated with.appender - The Appender.public void addLoggerFilter(Logger logger, Filter filter)
addLoggerFilter in interface Configurationlogger - The Logger the Footer will be associated with.filter - The Filter.public void setLoggerAdditive(Logger logger, boolean additive)
setLoggerAdditive in interface Configurationlogger - The Logger the Appender will be associated with.additive - True if the LoggerConfig should be additive, false otherwise.public void removeAppender(String appenderName)
appenderName - the name of the appender to remove.public List<CustomLevelConfig> getCustomLevels()
Configuration
Returns a list of descriptors of the custom levels defined in the current configuration. The returned list does
not include custom levels that are defined in code with direct calls to Level.forName(String, int).
Note that the list does not include levels of previous configurations. For example, suppose a configuration
contains custom levels A, B and C. The configuration is then modified to contain custom levels B, C and D. For
the new configuration, this method will return only {B, C, D}, that is, only the custom levels defined in
this configuration. The previously defined level A still exists (and can be obtained with
Level.getLevel(String)), it is just not in the current configuration. Level.values() will return
{A, B, C, D and the built-in levels}.
getCustomLevels in interface Configurationpublic LoggerConfig getLoggerConfig(String loggerName)
getLoggerConfig in interface ConfigurationloggerName - The Logger name.public LoggerContext getLoggerContext()
ConfigurationgetLoggerContext in interface Configurationpublic LoggerConfig getRootLogger()
getRootLogger in interface Configurationpublic Map<String,LoggerConfig> getLoggers()
getLoggers in interface Configurationpublic LoggerConfig getLogger(String loggerName)
loggerName - The Logger name.public void addLogger(String loggerName, LoggerConfig loggerConfig)
addLogger in interface ConfigurationloggerName - The name of the Logger.loggerConfig - The LoggerConfig.public void removeLogger(String loggerName)
removeLogger in interface ConfigurationloggerName - The name of the Logger.public void createConfiguration(Node node, LogEvent event)
createConfiguration in interface Configurationprotected static byte[] toByteArray(InputStream is) throws IOException
is - the InputStream to read into a byte array buffer.IOException - if the read method of the provided InputStream throws this exception.public NanoClock getNanoClock()
ConfigurationNanoClock instance for this configuration.getNanoClock in interface Configurationpublic void setNanoClock(NanoClock nanoClock)
ConfigurationNanoClock instance for this configuration.setNanoClock in interface ConfigurationnanoClock - the new nano clock for this configuration. Must be non-null.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.