Package org.red5.logging
Class LoggingContextSelector
java.lang.Object
org.red5.logging.LoggingContextSelector
- All Implemented Interfaces:
ch.qos.logback.classic.selector.ContextSelector
public class LoggingContextSelector
extends Object
implements ch.qos.logback.classic.selector.ContextSelector
A class that allows the LoggerFactory to access an web context based LoggerContext.
Add this java option -Dlogback.ContextSelector=org.red5.logging.LoggingContextSelector
- Author:
- Paul Gregoire (mondain@gmail.com)
-
Nested Class Summary
Modifier and TypeClassDescription(package private) class
-
Field Summary
Modifier and TypeFieldDescriptionprivate String
private static final ConcurrentMap<String,
ch.qos.logback.classic.LoggerContext> private static ch.qos.logback.classic.LoggerContext
static final String
private static final Semaphore
private final ThreadLocal<ch.qos.logback.classic.LoggerContext>
-
Constructor Summary
-
Method Summary
Modifier and TypeMethodDescriptionvoid
attachLoggerContext
(String contextName, ch.qos.logback.classic.LoggerContext loggerContext) ch.qos.logback.classic.LoggerContext
detachLoggerContext
(String contextName) int
getCount()
Returns the number of managed contexts Used for testing purposesch.qos.logback.classic.LoggerContext
ch.qos.logback.classic.LoggerContext
ch.qos.logback.classic.LoggerContext
getLoggerContext
(String contextName) ch.qos.logback.classic.LoggerContext
getLoggerContext
(String contextName, URL url) void
void
setContextConfigFile
(String contextConfigFile) void
setLocalContext
(ch.qos.logback.classic.LoggerContext context) These methods are used by the LoggerContextFilter.
-
Field Details
-
lock
-
contextMap
-
DEFAULT_CONTEXT
private static ch.qos.logback.classic.LoggerContext DEFAULT_CONTEXT -
threadLocal
-
contextConfigFile
-
KEY_APP_NAME
- See Also:
-
-
Constructor Details
-
LoggingContextSelector
public LoggingContextSelector(ch.qos.logback.classic.LoggerContext context)
-
-
Method Details
-
getLoggerContext
public ch.qos.logback.classic.LoggerContext getLoggerContext()- Specified by:
getLoggerContext
in interfacech.qos.logback.classic.selector.ContextSelector
-
getLoggerContext
- Specified by:
getLoggerContext
in interfacech.qos.logback.classic.selector.ContextSelector
-
getLoggerContext
-
getDefaultLoggerContext
public ch.qos.logback.classic.LoggerContext getDefaultLoggerContext()- Specified by:
getDefaultLoggerContext
in interfacech.qos.logback.classic.selector.ContextSelector
-
attachLoggerContext
public void attachLoggerContext(String contextName, ch.qos.logback.classic.LoggerContext loggerContext) -
detachLoggerContext
- Specified by:
detachLoggerContext
in interfacech.qos.logback.classic.selector.ContextSelector
-
getContextNames
- Specified by:
getContextNames
in interfacech.qos.logback.classic.selector.ContextSelector
-
setContextConfigFile
-
getCount
public int getCount()Returns the number of managed contexts Used for testing purposes- Returns:
- the number of managed contexts
-
setLocalContext
public void setLocalContext(ch.qos.logback.classic.LoggerContext context) These methods are used by the LoggerContextFilter. They provide a way to tell the selector which context to use, thus saving the cost of a JNDI call at each new request.- Parameters:
context
- logging context
-
removeLocalContext
public void removeLocalContext()
-