Package ch.qos.logback.core
Class ContextBase
java.lang.Object
ch.qos.logback.core.ContextBase
- All Implemented Interfaces:
Context,LifeCycle,PropertyContainer
- Direct Known Subclasses:
AccessContext,LoggerContext,RequestLogImpl
-
Field Summary
FieldsModifier and TypeFieldDescriptionprivate long(package private) LogbackLockprivate LifeCycleManagerprivate Stringprivate ScheduledExecutorServiceprotected List<ScheduledFuture<?>> private StatusManagerprivate boolean -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionvoidaddScheduledFuture(ScheduledFuture<?> scheduledFuture) longThe time at which this context was created, expressed in millisecond elapsed since the epoch (1.1.1970).Object used for synchronization purposes.Get a copy of the property mapEvery context has an ExecutorService which be invoked to execute certain tasks in a separate thread.(package private) LifeCycleManagerGets the life cycle manager for this context.getName()Contexts are named objects.A Context can act as a store for various objects used by LOGBack components.getProperty(String key) Given a key, return the corresponding property value.Returns the ScheduledExecutorService for this context.List<ScheduledFuture<?>> Return the StatusManager instance in use.protected voidbooleanprivate Stringprivate voidputHostnameProperty(String hostname) voidStore an object under 'key'.voidputProperty(String key, String val) Set a property of this context.voidRegister a component that participates in the context's life cycle.voidremoveObject(String key) private voidvoidreset()Clear the internal objectMap and all properties.voidThe context name can be set only if it is not already set, or if the current name is the default context name, namely "default", or if the current name and the old name are the same.voidsetStatusManager(StatusManager statusManager) Set theStatusManagerfor this context.voidstart()voidstop()private voidtoString()
-
Field Details
-
birthTime
private long birthTime -
name
-
sm
-
propertyMap
-
objectMap
-
configurationLock
LogbackLock configurationLock -
scheduledExecutorService
-
scheduledFutures
-
lifeCycleManager
-
started
private boolean started
-
-
Constructor Details
-
ContextBase
public ContextBase()
-
-
Method Details
-
getStatusManager
Description copied from interface:ContextReturn the StatusManager instance in use.- Specified by:
getStatusManagerin interfaceContext- Returns:
- the
StatusManagerinstance in use.
-
setStatusManager
Set theStatusManagerfor this context. Note that by default this context is initialized with aBasicStatusManager. A null value for the 'statusManager' argument is not allowed.A malicious attacker can set the status manager to a dummy instance, disabling internal error reporting.
- Parameters:
statusManager- the new status manager
-
getCopyOfPropertyMap
Description copied from interface:ContextGet a copy of the property map- Specified by:
getCopyOfPropertyMapin interfaceContext- Specified by:
getCopyOfPropertyMapin interfacePropertyContainer- Returns:
-
putProperty
Description copied from interface:ContextSet a property of this context.- Specified by:
putPropertyin interfaceContext
-
initCollisionMaps
protected void initCollisionMaps() -
getProperty
Given a key, return the corresponding property value. If invoked with the special key "CONTEXT_NAME", the name of the context is returned.- Specified by:
getPropertyin interfaceContext- Specified by:
getPropertyin interfacePropertyContainer- Parameters:
key-- Returns:
-
lazyGetHostname
-
putHostnameProperty
-
getObject
Description copied from interface:ContextA Context can act as a store for various objects used by LOGBack components. -
putObject
Description copied from interface:ContextStore an object under 'key'. If no object can be found, null is returned. -
removeObject
-
getName
Description copied from interface:ContextContexts are named objects. -
start
public void start() -
stop
public void stop() -
isStarted
public boolean isStarted() -
reset
public void reset()Clear the internal objectMap and all properties. Removes registered shutdown hook -
setName
The context name can be set only if it is not already set, or if the current name is the default context name, namely "default", or if the current name and the old name are the same.- Specified by:
setNamein interfaceContext- Parameters:
name-- Throws:
IllegalStateException- if the context already has a name, other than "default".
-
getBirthTime
public long getBirthTime()Description copied from interface:ContextThe time at which this context was created, expressed in millisecond elapsed since the epoch (1.1.1970).- Specified by:
getBirthTimein interfaceContext- Returns:
- The time as measured when this class was created.
-
getConfigurationLock
Description copied from interface:ContextObject used for synchronization purposes. INTENDED FOR INTERNAL USAGE.- Specified by:
getConfigurationLockin interfaceContext
-
getExecutorService
Description copied from interface:ContextEvery context has an ExecutorService which be invoked to execute certain tasks in a separate thread.- Specified by:
getExecutorServicein interfaceContext- Returns:
- the executor for this context.
-
getScheduledExecutorService
Description copied from interface:ContextReturns the ScheduledExecutorService for this context.- Specified by:
getScheduledExecutorServicein interfaceContext- Returns:
-
stopExecutorService
private void stopExecutorService() -
removeShutdownHook
private void removeShutdownHook() -
register
Description copied from interface:ContextRegister a component that participates in the context's life cycle.All components registered via this method will be stopped and removed from the context when the context is reset.
-
getLifeCycleManager
LifeCycleManager getLifeCycleManager()Gets the life cycle manager for this context.The default implementation lazily initializes an instance of
LifeCycleManager. Subclasses may override to provide a custom manager implementation, but must take care to return the same manager object for each call to this method.This is exposed primarily to support instrumentation for unit testing.
- Returns:
- manager object
-
toString
-
addScheduledFuture
- Specified by:
addScheduledFuturein interfaceContext
-
getScheduledFutures
-