Package org.jboss.logmanager

## Class ContextClassLoaderLogContextSelector

- java.lang.Object
- - org.jboss.logmanager.ContextClassLoaderLogContextSelector

All Implemented Interfaces:
  `LogContextSelector`

    public final class ContextClassLoaderLogContextSelector
    extends java.lang.Object
    implements LogContextSelector

A log context selector which chooses a log context based on the thread context classloader.

### Constructor Summary

Constructors
`ContextClassLoaderLogContextSelector()` Construct a new instance.
`ContextClassLoaderLogContextSelector​(LogContextSelector defaultSelector)` Construct a new instance.

### Method Summary

All Methods Instance Methods Concrete Methods
`LogContext` `getLogContext()` Get the current log context.
`void` `registerLogContext​(java.lang.ClassLoader classLoader, LogContext logContext)` Register a class loader with a log context.
`boolean` `unregisterLogContext​(java.lang.ClassLoader classLoader, LogContext logContext)` Unregister a class loader/log context association.

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

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

### Constructor Detail

#### ContextClassLoaderLogContextSelector

    public ContextClassLoaderLogContextSelector​(LogContextSelector defaultSelector)

Construct a new instance. If no matching log context is found, the provided default selector is consulted.

Parameters:
  `defaultSelector` - the selector to consult if no matching log context is found

#### ContextClassLoaderLogContextSelector

    public ContextClassLoaderLogContextSelector()

Construct a new instance. If no matching log context is found, the system context is used.

### Method Detail

#### getLogContext

    public LogContext getLogContext()

Description copied from interface: `LogContextSelector`
Get the current log context.

Specified by:
  `getLogContext` in interface `LogContextSelector`
Returns:
  the current log context

#### registerLogContext

    public void registerLogContext​(java.lang.ClassLoader classLoader,
                                   LogContext logContext)
                            throws java.lang.IllegalArgumentException

Register a class loader with a log context. This method requires the `registerLogContext` `RuntimePermission`.

Parameters:
  `classLoader` - the classloader
  `logContext` - the log context
Throws:
  `java.lang.IllegalArgumentException` - if the classloader is already associated with a log context

#### unregisterLogContext

    public boolean unregisterLogContext​(java.lang.ClassLoader classLoader,
                                        LogContext logContext)

Unregister a class loader/log context association. This method requires the `unregisterLogContext` `RuntimePermission`.

Parameters:
  `classLoader` - the classloader
  `logContext` - the log context
Returns:
  `true` if the association exists and was removed, `false` otherwise