Как вы знаете, AsyncAppender - это просто оболочка для других приложений. Когда вы создаете AsyncAppender, вы прикрепляете к нему свои «настоящие» дополнения.
AsyncAppender будет буферизировать ваши сообщения журнала до тех пор, пока он не достигнет установленного вами предела, и сразу же опубликовать эти сообщения журнала для прикрепленных приложений.
Из кода для AsyncAppender, похоже, что когда буфер заполнен, он просто вызывает метод doAppend для каждого присоединенного приложения (простой цикл для всех приложений). Это будет зависеть от подключенных устройств обработки ошибок и повторных попыток.
Я предлагаю реализовать пользовательский аппендер, расширяя SkeletonAppender и обрабатывая все самостоятельно в переопределенных вами методах.
Чтобы ответить на ваш последний вопрос, AsyncAppender имеет метод removeAppender:
public void removeAppender(final Appender appender) {