This ticket tracks the remaining work for the third change:
- Since clearAppenders() is only called after all appenders have been stopped, waitForCompletion() may no longer be necessary (unless I am missing something here). If so, the shutdownLock, shutdown and counter fields can be removed. Not incrementing the atomic counters with every event in the hot path should give better performance.
LOG4J2-1120 shows benchmark results that support this.