Class 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 Detail

      • DEFAULT_PACKAGING_DATA

        public static final boolean DEFAULT_PACKAGING_DATA
        Default setting of packaging data in stack traces
        See Also:
        Constant Field Values
      • 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
      • packagingDataEnabled

        private boolean packagingDataEnabled
      • maxCallerDataDepth

        private int maxCallerDataDepth
      • resetCount

        int resetCount
      • frameworkPackages

        private java.util.List<java.lang.String> frameworkPackages
    • Constructor Detail

      • LoggerContext

        public LoggerContext()
    • 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: Context
        Set a property of this context.
        Specified by:
        putProperty in interface Context
        Overrides:
        putProperty in class ContextBase
      • setName

        public void setName​(java.lang.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
      • getLogger

        public final Logger getLogger​(java.lang.Class<?> clazz)
      • getLogger

        public final Logger getLogger​(java.lang.String name)
        Specified by:
        getLogger in interface org.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 returns null.
        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:
        reset in class ContextBase
      • cancelScheduledTasks

        private void cancelScheduledTasks()
      • resetStatusListeners

        private void resetStatusListeners()
      • 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)
      • resetListenersExceptResetResistant

        private void resetListenersExceptResetResistant()
      • resetAllListeners

        private void resetAllListeners()
      • fireOnLevelChange

        void fireOnLevelChange​(Logger logger,
                               Level level)
      • fireOnReset

        private void fireOnReset()
      • fireOnStart

        private void fireOnStart()
      • fireOnStop

        private void fireOnStop()
      • 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