Class AsyncAppenderEventDispatcher
- java.lang.Object
-
- java.lang.Thread
-
- org.apache.logging.log4j.core.util.Log4jThread
-
- org.apache.logging.log4j.core.appender.AsyncAppenderEventDispatcher
-
- All Implemented Interfaces:
java.lang.Runnable
class AsyncAppenderEventDispatcher extends Log4jThread
-
-
Field Summary
Fields Modifier and Type Field Description private java.util.List<AppenderControl>
appenders
private AppenderControl
errorAppender
private static Logger
LOGGER
private java.util.concurrent.BlockingQueue<LogEvent>
queue
private static LogEvent
STOP_EVENT
private java.util.concurrent.atomic.AtomicBoolean
stoppedRef
private static java.util.concurrent.atomic.AtomicLong
THREAD_COUNTER
-
Constructor Summary
Constructors Constructor Description AsyncAppenderEventDispatcher(java.lang.String name, AppenderControl errorAppender, java.util.List<AppenderControl> appenders, java.util.concurrent.BlockingQueue<LogEvent> queue)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description (package private) void
dispatch(LogEvent event)
Dispatches the givenevent
to the registered appenders in the current thread.private void
dispatchAll()
private void
dispatchRemaining()
(package private) java.util.List<Appender>
getAppenders()
Gets all Appenders.void
run()
(package private) void
stop(long timeoutMillis)
-
Methods inherited from class java.lang.Thread
activeCount, checkAccess, clone, countStackFrames, currentThread, dumpStack, enumerate, getAllStackTraces, getContextClassLoader, getDefaultUncaughtExceptionHandler, getId, getName, getPriority, getStackTrace, getState, getThreadGroup, getUncaughtExceptionHandler, holdsLock, interrupt, interrupted, isAlive, isDaemon, isInterrupted, join, join, join, onSpinWait, resume, setContextClassLoader, setDaemon, setDefaultUncaughtExceptionHandler, setName, setPriority, setUncaughtExceptionHandler, sleep, sleep, start, stop, suspend, toString, yield
-
-
-
-
Field Detail
-
STOP_EVENT
private static final LogEvent STOP_EVENT
-
THREAD_COUNTER
private static final java.util.concurrent.atomic.AtomicLong THREAD_COUNTER
-
LOGGER
private static final Logger LOGGER
-
errorAppender
private final AppenderControl errorAppender
-
appenders
private final java.util.List<AppenderControl> appenders
-
queue
private final java.util.concurrent.BlockingQueue<LogEvent> queue
-
stoppedRef
private final java.util.concurrent.atomic.AtomicBoolean stoppedRef
-
-
Constructor Detail
-
AsyncAppenderEventDispatcher
AsyncAppenderEventDispatcher(java.lang.String name, AppenderControl errorAppender, java.util.List<AppenderControl> appenders, java.util.concurrent.BlockingQueue<LogEvent> queue)
-
-
Method Detail
-
getAppenders
java.util.List<Appender> getAppenders()
Gets all Appenders.- Returns:
- a list of Appenders.
-
run
public void run()
- Specified by:
run
in interfacejava.lang.Runnable
- Overrides:
run
in classjava.lang.Thread
-
dispatchAll
private void dispatchAll()
-
dispatchRemaining
private void dispatchRemaining()
-
dispatch
void dispatch(LogEvent event)
Dispatches the givenevent
to the registered appenders in the current thread.
-
stop
void stop(long timeoutMillis) throws java.lang.InterruptedException
- Throws:
java.lang.InterruptedException
-
-