From the Log4j 2 documentation:
When AsyncLoggerContextSelector is used to make all loggers asynchronous,
make sure to use normal <root> and <logger> elements in the configuration.
The AsyncLoggerContextSelector will ensure that all loggers are
asynchronous, using a mechanism that is different from what happens when
you configure <asyncRoot> or <asyncLogger>. The latter elements are
intended for mixing async with sync loggers.
https://logging.apache.org/log4j/2.x/manual/async.html
Since we are not using mixed sync/async loggers, we should use the
system property to enable the async loggers.
Fixes a long-standing race condition in TerminalConsoleAppender,
that eventually resulted in IllegalStateExceptions or duplicate
input prompts.
Fixes#242, Fixes#188
Currently it is possible to stop the proxy multiple times, causing
the shutdown routines to be called twice. This doesn't make any
sense and may even cause problems with some plugins.
Cancel early if stopping is already in progress to avoid this.
We recently moved some things around and as a result several URLs
changed.
Redirects are in place and most users will not need to make any changes.
We have already tested and confirmed that maven access works just fine
via the redirects.
However, maven will not allow you to deploy through the redirect so
projects using old deploy URLs will need to be updated.
Drop the original console command completion patch and rewrite it
for JLine 3. Add support to complete command names instead of just
command arguments.
The additional single thread executor for command completion was
dropped because it's redundant: since the command completer needs
to wait for it to complete anyway, we might as well do the completion
directly from the console thread.