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.