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 the ILoggerFactory acting as the manufacturing source of Logger instances.
  • Field Details

    • DEFAULT_PACKAGING_DATA

      public static final boolean DEFAULT_PACKAGING_DATA
      Default setting of packaging data in stack traces
      See Also:
    • root

      final Logger root
    • size

      private int size
    • noAppenderWarning

      private int noAppenderWarning
    • loggerContextListenerList

      private final List<LoggerContextListener> loggerContextListenerList
    • loggerCache

      private Map<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 List<String> frameworkPackages
  • Constructor Details

    • LoggerContext

      public LoggerContext()
  • Method Details

    • 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(String key, String val)
      Description copied from interface: Context
      Set a property of this context.
      Specified by:
      putProperty in interface Context
      Overrides:
      putProperty in class ContextBase
    • setName

      public void setName(String name)
      Description copied from class: ContextBase
      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:
      setName in interface Context
      Overrides:
      setName in class ContextBase
      Parameters:
      name -
    • getLogger

      public final Logger getLogger(Class<?> clazz)
    • getLogger

      public final Logger getLogger(String name)
      Specified by:
      getLogger in interface org.slf4j.ILoggerFactory
    • incSize

      private void incSize()
    • size

      int size()
    • exists

      public Logger exists(String name)
      Check if the named logger exists in the hierarchy. If so return its reference, otherwise returns null.
      Parameters:
      name - the name of the logger to search for.
    • noAppenderDefinedWarning

      final void noAppenderDefinedWarning(Logger logger)
    • getLoggerList

      public 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:
      reset in class ContextBase
    • 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, String format, Object[] params, Throwable t)
    • getTurboFilterChainDecision_1

      final FilterReply getTurboFilterChainDecision_1(org.slf4j.Marker marker, Logger logger, Level level, String format, Object param, Throwable t)
    • getTurboFilterChainDecision_2

      final FilterReply getTurboFilterChainDecision_2(org.slf4j.Marker marker, Logger logger, Level level, String format, Object param1, Object param2, Throwable t)
    • addListener

      public void addListener(LoggerContextListener listener)
    • removeListener

      public void removeListener(LoggerContextListener listener)
    • resetListenersExceptResetResistant

      private void resetListenersExceptResetResistant()
    • resetAllListeners

      private void resetAllListeners()
    • getCopyOfListenerList

      public List<LoggerContextListener> getCopyOfListenerList()
    • fireOnLevelChange

      void fireOnLevelChange(Logger logger, Level level)
    • fireOnReset

      private void fireOnReset()
    • fireOnStart

      private void fireOnStart()
    • fireOnStop

      private void fireOnStop()
    • start

      public void start()
      Specified by:
      start in interface LifeCycle
      Overrides:
      start in class ContextBase
    • stop

      public void stop()
      Specified by:
      stop in interface LifeCycle
      Overrides:
      stop in class ContextBase
    • toString

      public String toString()
      Overrides:
      toString in class ContextBase
    • getMaxCallerDataDepth

      public int getMaxCallerDataDepth()
    • setMaxCallerDataDepth

      public void setMaxCallerDataDepth(int maxCallerDataDepth)
    • getFrameworkPackages

      public List<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