ppkarwasz commented on issue #2220:
URL: 
https://github.com/apache/logging-log4j2/issues/2220#issuecomment-1903549607

   @nitsanw,
   
   You are probably right: the main difference between `AsyncLogger`, 
`AsyncLoggerConfig` and `AsyncAppender` is that the first two have **full 
control** over the lifecycle of _mutable_ log events, so they can modify log 
events (e.g. swap parameters between events) without breaking other components.
   
   The further down we go in the logging pipeline, the harder it becomes to 
perform such tricks. The logic of `AsyncLogger` is almost trivial (it breaks 
the log event by moving its components to the disruptor and resets the event); 
the logic of `AsyncLoggerConfig` is more complex (it must perform all 
synchronous logging before breaking the log event); `AsyncAppender` doesn't 
even try to deal with mutable events and takes a snapshot of the current event.


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: notifications-unsubscr...@logging.apache.org

For queries about this service, please contact Infrastructure at:
us...@infra.apache.org

Reply via email to