Hello,

While working on LOG4J2-2972
<https://issues.apache.org/jira/browse/LOG4J2-2972>, I noticed that
AsyncAppender has a "sync" mode. The related code also necessitates access
to the ID of the running AsyncAppender task thread. I am sort of puzzled
regarding the following topics:

*Why does an AA have a sync mode?* Yes, I read javadocs of
both EventRoute.SYNCHRONOUS and AsyncQueueFullPolicy. But again, why? If
the queue is full and we fallback to sync logging, doesn't this contradict
with the purpose of AsyncAppender?

For LOG4J2-2972, I created an abstract executor which respawns the thread
upon unexpected termination. Though AsyncQueueFullPolicy.*getRoute()
asks for a thread ID*. This is difficult to get right with the executor
abstraction, and besides, made me question should getRoute() really ask for
it?

I will appreciate your comments on these issues.

Kind regards.

Reply via email to