JBoss Log Manager 1.3.2.Final-redhat-1

org.jboss.logmanager
Class ContextClassLoaderLogContextSelector

java.lang.Object
  extended by 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. This selector maintains weak references to the classloader as well as the log context; if either is collected, the association is broken. Therefore, strong references must be kept external to this class.


Constructor Summary
ContextClassLoaderLogContextSelector()
          Construct a new instance.
ContextClassLoaderLogContextSelector(LogContextSelector defaultSelector)
          Construct a new instance.
 
Method Summary
 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 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(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

JBoss Log Manager 1.3.2.Final-redhat-1

Copyright © 2012 JBoss by Red Hat. All Rights Reserved.