Package ch.qos.logback.classic
Class LoggerContext
- java.lang.Object
-
- ch.qos.logback.core.ContextBase
-
- ch.qos.logback.classic.LoggerContext
-
- All Implemented Interfaces:
Context,LifeCycle,PropertyContainer,org.slf4j.ILoggerFactory
public class LoggerContext extends ContextBase implements org.slf4j.ILoggerFactory, LifeCycle
LoggerContext glues many of the logback-classic components together. In principle, every logback-classic component instance is attached either directly or indirectly to a LoggerContext instance. Just as importantly LoggerContext implements theILoggerFactoryacting as the manufacturing source ofLoggerinstances.
-
-
Field Summary
Fields Modifier and Type Field Description static booleanDEFAULT_PACKAGING_DATADefault setting of packaging data in stack tracesprivate java.util.List<java.lang.String>frameworkPackagesprivate java.util.Map<java.lang.String,Logger>loggerCacheprivate java.util.List<LoggerContextListener>loggerContextListenerListprivate LoggerContextVOloggerContextRemoteViewprivate intmaxCallerDataDepthprivate intnoAppenderWarningprivate booleanpackagingDataEnabled(package private) intresetCount(package private) Loggerrootprivate intsizeprivate TurboFilterListturboFilterList-
Fields inherited from class ch.qos.logback.core.ContextBase
scheduledFutures
-
-
Constructor Summary
Constructors Constructor Description LoggerContext()
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description voidaddListener(LoggerContextListener listener)voidaddTurboFilter(TurboFilter newFilter)private voidcancelScheduledTasks()Loggerexists(java.lang.String name)Check if the named logger exists in the hierarchy.(package private) voidfireOnLevelChange(Logger logger, Level level)private voidfireOnReset()private voidfireOnStart()private voidfireOnStop()java.util.List<LoggerContextListener>getCopyOfListenerList()java.util.List<java.lang.String>getFrameworkPackages()List of packages considered part of the logging framework such that they are never considered as callers of the logging framework.LoggergetLogger(java.lang.Class<?> clazz)LoggergetLogger(java.lang.String name)LoggerContextVOgetLoggerContextRemoteView()java.util.List<Logger>getLoggerList()intgetMaxCallerDataDepth()(package private) FilterReplygetTurboFilterChainDecision_0_3OrMore(org.slf4j.Marker marker, Logger logger, Level level, java.lang.String format, java.lang.Object[] params, java.lang.Throwable t)(package private) FilterReplygetTurboFilterChainDecision_1(org.slf4j.Marker marker, Logger logger, Level level, java.lang.String format, java.lang.Object param, java.lang.Throwable t)(package private) FilterReplygetTurboFilterChainDecision_2(org.slf4j.Marker marker, Logger logger, Level level, java.lang.String format, java.lang.Object param1, java.lang.Object param2, java.lang.Throwable t)TurboFilterListgetTurboFilterList()private voidincSize()(package private) voidinitEvaluatorMap()booleanisPackagingDataEnabled()(package private) voidnoAppenderDefinedWarning(Logger logger)voidputProperty(java.lang.String key, java.lang.String val)Set a property of this context.voidremoveListener(LoggerContextListener listener)voidreset()This method clears all internal properties, except internal status messages, closes all appenders, removes any turboFilters, fires an OnReset event, removes all status listeners, removes all context listeners (except those which are reset resistant).private voidresetAllListeners()private voidresetListenersExceptResetResistant()private voidresetStatusListeners()voidresetTurboFilterList()First processPriorToRemoval all registered turbo filters and then clear the registration list.voidsetMaxCallerDataDepth(int maxCallerDataDepth)voidsetName(java.lang.String name)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.voidsetPackagingDataEnabled(boolean packagingDataEnabled)(package private) intsize()voidstart()voidstop()java.lang.StringtoString()private voidupdateLoggerContextVO()A new instance of LoggerContextRemoteView needs to be created each time the name or propertyMap (including keys or values) changes.-
Methods inherited from class ch.qos.logback.core.ContextBase
addScheduledFuture, getBirthTime, getConfigurationLock, getCopyOfPropertyMap, getExecutorService, getName, getObject, getProperty, getScheduledExecutorService, getScheduledFutures, getStatusManager, initCollisionMaps, isStarted, putObject, register, removeObject, setStatusManager
-
-
-
-
Field Detail
-
DEFAULT_PACKAGING_DATA
public static final boolean DEFAULT_PACKAGING_DATA
Default setting of packaging data in stack traces- See Also:
- Constant Field Values
-
root
final Logger root
-
size
private int size
-
noAppenderWarning
private int noAppenderWarning
-
loggerContextListenerList
private final java.util.List<LoggerContextListener> loggerContextListenerList
-
loggerCache
private java.util.Map<java.lang.String,Logger> loggerCache
-
loggerContextRemoteView
private LoggerContextVO loggerContextRemoteView
-
turboFilterList
private final TurboFilterList turboFilterList
-
packagingDataEnabled
private boolean packagingDataEnabled
-
maxCallerDataDepth
private int maxCallerDataDepth
-
resetCount
int resetCount
-
frameworkPackages
private java.util.List<java.lang.String> frameworkPackages
-
-
Method Detail
-
initEvaluatorMap
void initEvaluatorMap()
-
updateLoggerContextVO
private void updateLoggerContextVO()
A new instance of LoggerContextRemoteView needs to be created each time the name or propertyMap (including keys or values) changes.
-
putProperty
public void putProperty(java.lang.String key, java.lang.String val)Description copied from interface:ContextSet a property of this context.- Specified by:
putPropertyin interfaceContext- Overrides:
putPropertyin classContextBase
-
setName
public void setName(java.lang.String name)
Description copied from class:ContextBaseThe 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- Overrides:
setNamein classContextBase
-
getLogger
public final Logger getLogger(java.lang.Class<?> clazz)
-
getLogger
public final Logger getLogger(java.lang.String name)
- Specified by:
getLoggerin interfaceorg.slf4j.ILoggerFactory
-
incSize
private void incSize()
-
size
int size()
-
exists
public Logger exists(java.lang.String name)
Check if the named logger exists in the hierarchy. If so return its reference, otherwise returnsnull.- Parameters:
name- the name of the logger to search for.
-
noAppenderDefinedWarning
final void noAppenderDefinedWarning(Logger logger)
-
getLoggerList
public java.util.List<Logger> getLoggerList()
-
getLoggerContextRemoteView
public LoggerContextVO getLoggerContextRemoteView()
-
setPackagingDataEnabled
public void setPackagingDataEnabled(boolean packagingDataEnabled)
-
isPackagingDataEnabled
public boolean isPackagingDataEnabled()
-
reset
public void reset()
This method clears all internal properties, except internal status messages, closes all appenders, removes any turboFilters, fires an OnReset event, removes all status listeners, removes all context listeners (except those which are reset resistant). As mentioned above, internal status messages survive resets.- Overrides:
resetin classContextBase
-
cancelScheduledTasks
private void cancelScheduledTasks()
-
resetStatusListeners
private void resetStatusListeners()
-
getTurboFilterList
public TurboFilterList getTurboFilterList()
-
addTurboFilter
public void addTurboFilter(TurboFilter newFilter)
-
resetTurboFilterList
public void resetTurboFilterList()
First processPriorToRemoval all registered turbo filters and then clear the registration list.
-
getTurboFilterChainDecision_0_3OrMore
final FilterReply getTurboFilterChainDecision_0_3OrMore(org.slf4j.Marker marker, Logger logger, Level level, java.lang.String format, java.lang.Object[] params, java.lang.Throwable t)
-
getTurboFilterChainDecision_1
final FilterReply getTurboFilterChainDecision_1(org.slf4j.Marker marker, Logger logger, Level level, java.lang.String format, java.lang.Object param, java.lang.Throwable t)
-
getTurboFilterChainDecision_2
final FilterReply getTurboFilterChainDecision_2(org.slf4j.Marker marker, Logger logger, Level level, java.lang.String format, java.lang.Object param1, java.lang.Object param2, java.lang.Throwable t)
-
addListener
public void addListener(LoggerContextListener listener)
-
removeListener
public void removeListener(LoggerContextListener listener)
-
resetListenersExceptResetResistant
private void resetListenersExceptResetResistant()
-
resetAllListeners
private void resetAllListeners()
-
getCopyOfListenerList
public java.util.List<LoggerContextListener> getCopyOfListenerList()
-
fireOnReset
private void fireOnReset()
-
fireOnStart
private void fireOnStart()
-
fireOnStop
private void fireOnStop()
-
start
public void start()
- Specified by:
startin interfaceLifeCycle- Overrides:
startin classContextBase
-
stop
public void stop()
- Specified by:
stopin interfaceLifeCycle- Overrides:
stopin classContextBase
-
toString
public java.lang.String toString()
- Overrides:
toStringin classContextBase
-
getMaxCallerDataDepth
public int getMaxCallerDataDepth()
-
setMaxCallerDataDepth
public void setMaxCallerDataDepth(int maxCallerDataDepth)
-
getFrameworkPackages
public java.util.List<java.lang.String> getFrameworkPackages()
List of packages considered part of the logging framework such that they are never considered as callers of the logging framework. This list used to compute the caller for logging events. To designate package "com.foo" as well as all its subpackages as being part of the logging framework, simply add "com.foo" to this list.- Returns:
- list of framework packages
-
-