public final class ThreadLocalLogContextSelector extends java.lang.Object implements LogContextSelector
Modifier and Type | Field and Description |
---|---|
private java.lang.ThreadLocal<LogContext> |
context |
private LogContextSelector |
delegate |
private java.lang.Object |
securityKey |
Constructor and Description |
---|
ThreadLocalLogContextSelector(LogContextSelector delegate)
Construct a new instance.
|
ThreadLocalLogContextSelector(java.lang.Object securityKey,
LogContextSelector delegate)
Construct a new instance.
|
Modifier and Type | Method and Description |
---|---|
LogContext |
getAndSet(java.lang.Object securityKey,
LogContext newValue)
Get and set the log context.
|
LogContext |
getLogContext()
Get the current log context.
|
private final java.lang.Object securityKey
private final LogContextSelector delegate
private final java.lang.ThreadLocal<LogContext> context
public ThreadLocalLogContextSelector(LogContextSelector delegate)
delegate
- the selector to delegate to if no context is chosenpublic ThreadLocalLogContextSelector(java.lang.Object securityKey, LogContextSelector delegate)
securityKey
- the security key required to push or pop a log context.delegate
- the selector to delegate to if no context is chosenpublic LogContext getLogContext()
LogContextSelector
getLogContext
in interface LogContextSelector
public LogContext getAndSet(java.lang.Object securityKey, LogContext newValue)
securityKey
- the security key to check (ignored if none was set on construction)newValue
- the new log context value, or null
to clearnull
if none was set