On Mon, Dec 12, 2016 at 9:30 AM, Matt Sicker <boa...@gmail.com> wrote:
> There was talk about making NIO/channel-based appenders that would get > nearly async performance without using async loggers or appenders. I'm not > so sure that making an appender's implementation asynchronous/non-blocking > is against the architecture. > We do not specify that appender MUST be synchronous anywhere: - https://logging.apache.org/log4j/2.x/manual/architecture.html - https://logging.apache.org/log4j/2.x/manual/appenders.html - https://logging.apache.org/log4j/2.x/log4j-core/apidocs/org/apache/logging/log4j/core/Appender.html We do talk about how to make code paths explicitly _asynchronous_. I seems quite OK to surface whatever bells and whistle the underlying library provides for an appender. I do not see why we should lock users out of these feature. For me, it's about give users choices and documenting them. Gary > Though adding API support for Future or CompleteableFuture or something > similar would be interesting. It could certainly open up some avenues for > asynchronous optimizations or new ideas. > > On 12 December 2016 at 11:16, Mikael Ståldal <mikael.stal...@magine.com> > wrote: > >> This issue: https://issues.apache.org/jira/browse/LOG4J2-1733 >> raises an architectural issue. >> >> As far as I understand, Log4j assumes that regular appenders (the >> AsyncAppender is a special case) to be synchronous, and >> provides AsyncAppender and async loggers if you want async behavior. >> >> It would be easy to fulfill LOG4J2-1733 and add an option to make >> KafkaAppeder asynchronous. But that that would violate the contract, and >> might cause problems that are not so easy to foresee. >> >> However, refusing LOG4J2-1733 and insisting in keeping all appenders >> synchronous, even when real async I/O is available, will limit performance. >> >> Should we refine the appender interface and explicitly allow them to be >> asynchronous, changing AsyncAppender and parts of core to make use of this >> to optimize processing? >> >> Thoughts? >> >> -- >> [image: MagineTV] >> >> *Mikael Ståldal* >> Senior software developer >> >> *Magine TV* >> mikael.stal...@magine.com >> Grev Turegatan 3 | 114 46 Stockholm, Sweden | www.magine.com >> >> Privileged and/or Confidential Information may be contained in this >> message. If you are not the addressee indicated in this message >> (or responsible for delivery of the message to such a person), you may >> not copy or deliver this message to anyone. In such case, >> you should destroy this message and kindly notify the sender by reply >> email. >> > > > > -- > Matt Sicker <boa...@gmail.com> > -- E-Mail: garydgreg...@gmail.com | ggreg...@apache.org Java Persistence with Hibernate, Second Edition <https://www.amazon.com/gp/product/1617290459/ref=as_li_tl?ie=UTF8&camp=1789&creative=9325&creativeASIN=1617290459&linkCode=as2&tag=garygregory-20&linkId=cadb800f39946ec62ea2b1af9fe6a2b8> <http:////ir-na.amazon-adsystem.com/e/ir?t=garygregory-20&l=am2&o=1&a=1617290459> JUnit in Action, Second Edition <https://www.amazon.com/gp/product/1935182021/ref=as_li_tl?ie=UTF8&camp=1789&creative=9325&creativeASIN=1935182021&linkCode=as2&tag=garygregory-20&linkId=31ecd1f6b6d1eaf8886ac902a24de418%22> <http:////ir-na.amazon-adsystem.com/e/ir?t=garygregory-20&l=am2&o=1&a=1935182021> Spring Batch in Action <https://www.amazon.com/gp/product/1935182951/ref=as_li_tl?ie=UTF8&camp=1789&creative=9325&creativeASIN=1935182951&linkCode=%7B%7BlinkCode%7D%7D&tag=garygregory-20&linkId=%7B%7Blink_id%7D%7D%22%3ESpring+Batch+in+Action> <http:////ir-na.amazon-adsystem.com/e/ir?t=garygregory-20&l=am2&o=1&a=1935182951> Blog: http://garygregory.wordpress.com Home: http://garygregory.com/ Tweet! http://twitter.com/GaryGregory