Package org.jboss.logmanager

# Class ContextClassLoaderLogContextSelector

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

All Implemented Interfaces:
  `LogContextSelector`

public final class ContextClassLoaderLogContextSelector extends Object implements LogContextSelector
A log context selector which chooses a log context based on the thread context classloader.

## Constructor Summary

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

## Method Summary

Modifier and Type
Method
Description
`LogContext`
`getLogContext()`
Get the current log context.
`void`
`registerLogContext(ClassLoader classLoader, LogContext logContext)`
Register a class loader with a log context.
`boolean`
`unregisterLogContext(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 Details

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

### 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(ClassLoader classLoader, LogContext logContext) throws IllegalArgumentException
Register a class loader with a log context. This method requires the `registerLogContext` `RuntimePermission`.

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

### unregisterLogContext

public boolean unregisterLogContext(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