Interface Configuration
-
- All Superinterfaces:
Filterable
,LifeCycle
- All Known Implementing Classes:
AbstractConfiguration
,BuiltConfiguration
,CompositeConfiguration
,DefaultConfiguration
,JsonConfiguration
,Log4j1Configuration
,NullConfiguration
,PropertiesConfiguration
,PropertiesConfiguration
,XmlConfiguration
,XmlConfiguration
public interface Configuration extends Filterable
Interface that must be implemented to create a configuration.Custom implementations are recommended to extend
AbstractConfiguration
.- See Also:
AbstractConfiguration
,LifeCycle2
-
-
Nested Class Summary
-
Nested classes/interfaces inherited from interface org.apache.logging.log4j.core.LifeCycle
LifeCycle.State
-
-
Field Summary
Fields Modifier and Type Field Description static String
CONTEXT_PROPERTIES
Key for storing the Context properties.
-
Method Summary
All Methods Instance Methods Abstract Methods Modifier and Type Method Description void
addAppender(Appender appender)
void
addComponent(String name, Object object)
void
addListener(ConfigurationListener listener)
void
addLogger(String name, LoggerConfig loggerConfig)
void
addLoggerAppender(Logger logger, Appender appender)
void
addLoggerFilter(Logger logger, Filter filter)
void
createConfiguration(Node node, LogEvent event)
Advertiser
getAdvertiser()
<T extends Appender>
TgetAppender(String name)
Returns the Appender with the specified name.Map<String,Appender>
getAppenders()
Returns a Map containing all the Appenders and their name.AsyncLoggerConfigDelegate
getAsyncLoggerConfigDelegate()
Returns theAsyncLoggerConfigDelegate
shared by allAsyncLoggerConfig
instances defined in this Configuration.<T> T
getComponent(String name)
ConfigurationSource
getConfigurationSource()
Returns the source of this configuration.List<CustomLevelConfig>
getCustomLevels()
Returns a list of descriptors of the custom levels defined in the current configuration.LoggerConfig
getLoggerConfig(String name)
Locates the appropriate LoggerConfig for a Logger name.LoggerContext
getLoggerContext()
Gets the logger context.Map<String,LoggerConfig>
getLoggers()
String
getName()
Returns the configuration name.NanoClock
getNanoClock()
Returns theNanoClock
instance for this configuration.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.ConfigurationScheduler
getScheduler()
ScriptManager
getScriptManager()
long
getShutdownTimeoutMillis()
StrSubstitutor
getStrSubstitutor()
WatchManager
getWatchManager()
Return the WatchManager.boolean
isShutdownHookEnabled()
void
removeListener(ConfigurationListener listener)
void
removeLogger(String name)
void
setAdvertiser(Advertiser advertiser)
void
setLoggerAdditive(Logger logger, boolean additive)
void
setNanoClock(NanoClock nanoClock)
Sets theNanoClock
instance for this configuration.-
Methods inherited from interface org.apache.logging.log4j.core.filter.Filterable
addFilter, getFilter, hasFilter, isFiltered, removeFilter
-
-
-
-
Field Detail
-
CONTEXT_PROPERTIES
static final String CONTEXT_PROPERTIES
Key for storing the Context properties.- See Also:
- Constant Field Values
-
-
Method Detail
-
getName
String getName()
Returns the configuration name.- Returns:
- the name of the configuration.
-
getLoggerConfig
LoggerConfig getLoggerConfig(String name)
Locates the appropriate LoggerConfig for a Logger name. This will remove tokens from the package name as necessary or return the root LoggerConfig if no other matches were found.- Parameters:
name
- The Logger name.- Returns:
- The located LoggerConfig.
-
getAppender
<T extends Appender> T getAppender(String name)
Returns the Appender with the specified name.- Type Parameters:
T
- The expected Appender type.- Parameters:
name
- The name of the Appender.- Returns:
- the Appender with the specified name or null if the Appender cannot be located.
-
getAppenders
Map<String,Appender> getAppenders()
Returns a Map containing all the Appenders and their name.- Returns:
- A Map containing each Appender's name and the Appender object.
-
addAppender
void addAppender(Appender appender)
-
getLoggers
Map<String,LoggerConfig> getLoggers()
-
setLoggerAdditive
void setLoggerAdditive(Logger logger, boolean additive)
-
addLogger
void addLogger(String name, LoggerConfig loggerConfig)
-
removeLogger
void removeLogger(String name)
-
getPluginPackages
List<String> getPluginPackages()
Returns the list of packages to scan for plugins for this Configuration.- Returns:
- the list of plugin packages.
- Since:
- 2.1
-
getRootLogger
LoggerConfig getRootLogger()
Returns the root Logger.- Returns:
- the root Logger.
-
addListener
void addListener(ConfigurationListener listener)
-
removeListener
void removeListener(ConfigurationListener listener)
-
getStrSubstitutor
StrSubstitutor getStrSubstitutor()
-
getComponent
<T> T getComponent(String name)
-
setAdvertiser
void setAdvertiser(Advertiser advertiser)
-
getAdvertiser
Advertiser getAdvertiser()
-
isShutdownHookEnabled
boolean isShutdownHookEnabled()
-
getShutdownTimeoutMillis
long getShutdownTimeoutMillis()
-
getScheduler
ConfigurationScheduler getScheduler()
-
getConfigurationSource
ConfigurationSource getConfigurationSource()
Returns the source of this configuration.- Returns:
- the source of this configuration, never
null
, but may beConfigurationSource.NULL_SOURCE
orConfigurationSource.COMPOSITE_SOURCE
-
getCustomLevels
List<CustomLevelConfig> getCustomLevels()
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}.- Returns:
- the custom levels defined in the current configuration
-
getScriptManager
ScriptManager getScriptManager()
-
getAsyncLoggerConfigDelegate
AsyncLoggerConfigDelegate getAsyncLoggerConfigDelegate()
Returns theAsyncLoggerConfigDelegate
shared by allAsyncLoggerConfig
instances defined in this Configuration.- Returns:
- the
AsyncLoggerConfigDelegate
-
getWatchManager
WatchManager getWatchManager()
Return the WatchManager.- Returns:
- the WatchManager.
-
getReliabilityStrategy
ReliabilityStrategy getReliabilityStrategy(LoggerConfig loggerConfig)
-
getNanoClock
NanoClock getNanoClock()
Returns theNanoClock
instance for this configuration.- Returns:
- the nano clock
-
setNanoClock
void setNanoClock(NanoClock nanoClock)
Sets theNanoClock
instance for this configuration.- Parameters:
nanoClock
- the new nano clock for this configuration. Must be non-null.
-
getLoggerContext
LoggerContext getLoggerContext()
Gets the logger context.- Returns:
- the logger context.
-
-