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

Author:
  Ceki Gulcu

## Field Summary

Fields
Modifier and Type
Field
Description
`static final boolean`
`DEFAULT_PACKAGING_DATA`
Default setting of packaging data in stack traces

### Fields inherited from class ch.qos.logback.core.ContextBase

`scheduledFutures`

## Constructor Summary

Constructors
Constructor
Description
`LoggerContext()`

## Method Summary

Modifier and Type
Method
Description
`void`
`addListener(LoggerContextListener listener)`
`void`
`addTurboFilter(TurboFilter newFilter)`
`Logger`
`exists(String name)`
Check if the named logger exists in the hierarchy.
`List<LoggerContextListener>`
`getCopyOfListenerList()`
`List<String>`
`getFrameworkPackages()`
List of packages considered part of the logging framework such that they are never considered as callers of the logging framework.
`final Logger`
`getLogger(Class<?> clazz)`
`final Logger`
`getLogger(String name)`
`LoggerContextVO`
`getLoggerContextRemoteView()`
`List<Logger>`
`getLoggerList()`
`int`
`getMaxCallerDataDepth()`
`TurboFilterList`
`getTurboFilterList()`
`boolean`
`isPackagingDataEnabled()`
`void`
`putProperty(String key, String val)`
Set a property of this context.
`void`
`removeListener(LoggerContextListener listener)`
`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).
`void`
`resetTurboFilterList()`
First processPriorToRemoval all registered turbo filters and then clear the registration list.
`void`
`setMaxCallerDataDepth(int maxCallerDataDepth)`
`void`
`setName(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.
`void`
`setPackagingDataEnabled(boolean packagingDataEnabled)`
`void`
`start()`
`void`
`stop()`
`String`
`toString()`

### 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`

### Methods inherited from class java.lang.Object

`clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait`

### Methods inherited from interface ch.qos.logback.core.spi.LifeCycle

`isStarted`

## Field Details

### DEFAULT_PACKAGING_DATA

public static final boolean DEFAULT_PACKAGING_DATA
Default setting of packaging data in stack traces

See Also:
  - Constant Field Values

## Constructor Details

### LoggerContext

public LoggerContext()

## Method Details

### 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`

### getLogger

public final Logger getLogger(Class<?> clazz)

### getLogger

public final Logger getLogger(String name)

Specified by:
  `getLogger` in interface `org.slf4j.ILoggerFactory`

### 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.

### 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`

### 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.

### addListener

public void addListener(LoggerContextListener listener)

### removeListener

public void removeListener(LoggerContextListener listener)

### getCopyOfListenerList

public List<LoggerContextListener> getCopyOfListenerList()

### 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