GitHub user cakofony opened a pull request:

    https://github.com/apache/logging-log4j2/pull/164

    [LOG4J2-2299] Mixed async loggers no longer forget parameter values

    Previously each AsyncLoggerConfig would individually enqueue an
    event on the async delegate disruptor. In practice this caused
    us to trade reusable message parameters away at the first
    AsyncLoggerConfig in our path, causing the rest to get an array
    of nulls.
    
    Now we begin by traversing the configuration and logging to all
    synchronous loggers first, then enqueue the event to the highest
    level asynchronous logger allowing the asynchronous loggers to be
    traversed on the background thread.

You can merge this pull request into a Git repository by running:

    $ git pull https://github.com/cakofony/logging-log4j2 LOG4J2-2301

Alternatively you can review and apply these changes as the patch at:

    https://github.com/apache/logging-log4j2/pull/164.patch

To close this pull request, make a commit to your master/trunk branch
with (at least) the following in the commit message:

    This closes #164
    
----
commit eefef2b841710efa4651e448f0e4a9ff1b54ac3d
Author: Carter Kozak <ckozak@...>
Date:   2018-04-11T22:53:01Z

    [LOG4J2-2299] Mixed async loggers no longer forget parameter values
    
    Previously each AsyncLoggerConfig would individually enqueue an
    event on the async delegate disruptor. In practice this caused
    us to trade reusable message parameters away at the first
    AsyncLoggerConfig in our path, causing the rest to get an array
    of nulls.
    
    Now we begin by traversing the configuration and logging to all
    synchronous loggers first, then enqueue the event to the highest
    level asynchronous logger allowing the asynchronous loggers to be
    traversed on the background thread.

----


---

Reply via email to