Async Appenders

2018-05-07 Thread William Davis
I've noticed that there are several Async implementations of standard appenders out in the wild. Is there a reason none of these have made there way into the core product? Is it just b/c no one has taken the time to do a pull request, or is there some other reason? I've had several projects where

Re: Async Appenders

2018-05-07 Thread Remko Popma
Log4j core provides about 4 flavours of async logging, several of which use non-blocking data structures. Can you link to the ones you think should be included? Thanks! Remko (Shameless plug) Every java main() method deserves http://picocli.info > On May 7, 2018, at 14:15, William Davis wr

Re: Async Appenders

2018-05-07 Thread Matt Sicker
Like the Kafka appender's async option? Or like the async logger and appenders? On 7 May 2018 at 07:38, Remko Popma wrote: > Log4j core provides about 4 flavours of async logging, several of which > use non-blocking data structures. > > Can you link to the ones you think should be included? > >

Re: Async Appenders

2018-05-07 Thread William Davis
Sorry I meant to send this to the Log4Net distro On Mon, May 7, 2018 at 9:47 AM, Matt Sicker wrote: > Like the Kafka appender's async option? Or like the async logger and > appenders? > > On 7 May 2018 at 07:38, Remko Popma wrote: > > > Log4j core provides about 4 flavours of async logging, sev

Re: Async Appenders

2018-05-07 Thread Matt Sicker
Oh, no worries, you're on the correct list! On 7 May 2018 at 09:02, William Davis wrote: > Sorry I meant to send this to the Log4Net distro > > On Mon, May 7, 2018 at 9:47 AM, Matt Sicker wrote: > > > Like the Kafka appender's async option? Or like the async logger and > > appenders? > > > > On

Re: Async Appenders

2018-05-07 Thread William Davis
Ok then, so are the same Async Appenders available in Log4Net that are in Log4j ? Here are some one I'm using: https://github.com/cjbhaines/Log4Net.Async (my .net standard port: https://github.com/wjdavis5/Log4Net.Async) Also been looking into an Async Buffering Appender. Just seems we coul

Re: Async Appenders

2018-05-07 Thread Matt Sicker
; Ok then, so are the same Async Appenders available in Log4Net that are in > Log4j ? > Here are some one I'm using: > https://github.com/cjbhaines/Log4Net.Async > (my .net standard port: https://github.com/wjdavis5/Log4Net.Async) > Also been looking into an Async Buffering Appen

Re: Async Appenders

2018-05-07 Thread William Davis
r the authors never attempted to donate it upstream in the > first place. > > On 7 May 2018 at 12:22, William Davis wrote: > > > Ok then, so are the same Async Appenders available in Log4Net that are in > > Log4j ? > > Here are some one I'm using: > > http

Re: Async Appenders

2018-05-08 Thread Matt Sicker
> first place. > > > > On 7 May 2018 at 12:22, William Davis > wrote: > > > > > Ok then, so are the same Async Appenders available in Log4Net that are > in > > > Log4j ? > > > Here are some one I'm using: > > > https://github.com/cjbhai

Re: Async Appenders

2018-05-08 Thread Dominik Psenner
n the > > first place. > > > > On 7 May 2018 at 12:22, William Davis > wrote: > > > > > Ok then, so are the same Async Appenders available in Log4Net that are > in > > > Log4j ? > > > Here are some one I'm using: > > > https://github.

Re: Async Appenders

2018-05-09 Thread Jochen Wiedmann
On Mon, May 7, 2018 at 2:15 PM William Davis wrote: > I've noticed that there are several Async implementations of standard > appenders out in the wild. Is there a reason none of these have made there > way into the core product? Is it just b/c no one has taken the time to do a > pull request, or

Re: Async Appenders

2018-05-09 Thread William Davis
Jochen, I dont believe that appender has been ported to Log4Net. Maybe thats what we should do first? Im sure there are other uses cases out there though, which is why we've seen several people roll async appenders in the first place (although it could be a fundamental lack of understanding

Re: Async Appenders

2018-05-09 Thread Dominik Psenner
Davis wrote: Jochen, I dont believe that appender has been ported to Log4Net. Maybe thats what we should do first? Im sure there are other uses cases out there though, which is why we've seen several people roll async appenders in the first place (although it could be a fundamental la

Re: Async Appenders

2018-05-09 Thread Remko Popma
en ported to Log4Net. Maybe >> thats what we should do first? Im sure there are other uses cases out there >> though, which is why we've seen several people roll async appenders in the >> first place (although it could be a fundamental lack of understanding) >> >>

Re: Async Appenders

2018-05-09 Thread Matt Sicker
gt;> On 2018-05-09 13:48, William Davis wrote: > >> Jochen, I dont believe that appender has been ported to Log4Net. Maybe > >> thats what we should do first? Im sure there are other uses cases out > there > >> though, which is why we've seen several people roll

Re: Async Appenders

2018-05-09 Thread William Davis
implementing the async/await paradigm it would have to be provided > > as a logging event api and continuously invoked with async down to the > > appender implementations in order for the application code to benefit > from > > true async behavior. Or am I wrong here? > > >

Re: Async Appenders

2018-05-09 Thread Matt Sicker
e > provided > > > as a logging event api and continuously invoked with async down to the > > > appender implementations in order for the application code to benefit > > from > > > true async behavior. Or am I wrong here? > > > > > > > > &g

Re: Async Appenders

2018-05-09 Thread William Davis
t; > (Shameless plug) Every java main() method deserves > http://picocli.info > > > > > > > > > On May 9, 2018, at 22:06, Dominik Psenner > > wrote: > > > > > > > > > > When implementing the async/await paradigm it would ha

Re: Async Appenders

2018-05-09 Thread Dominik Psenner
wait paradigm it would have to be provided > > as a logging event api and continuously invoked with async down to the > > appender implementations in order for the application code to benefit > from > > true async behavior. Or am I wrong here? > > > > > > > >

Re: Async Appenders

2018-05-09 Thread Matt Sicker
> > > Remko > > > > > > (Shameless plug) Every java main() method deserves http://picocli.info > > > > > > > On May 9, 2018, at 22:06, Dominik Psenner > wrote: > > > > > > > > When implementing the async/await paradi

Re: Async Appenders

2018-05-09 Thread Dominik Psenner
logging in return for dedicating a cpu core. You may not want or need > > to > > > go > > > > that far. > > > > > > > > Remko > > > > > > > > (Shameless plug) Every java main() method deserves > http://picocli.info > >

Re: Async Appenders

2018-05-09 Thread Dominik Psenner
; > > > background thread is suspended and woken up by the operating system >> > when >> > > > notified. I assume this is what async/await uses. To be completely >> > > > lock-free, an alternative wait strategy is to busy-spin but this >> means

Re: Async Appenders

2018-05-09 Thread Matt Sicker
> > aware > >> > > > that the background thread needs to employ some waiting strategy > >> until > >> > > work > >> > > > arrives. The simplest thing is to use some block-notify mechanism: > >> the > >> > &

Re: Async Appenders

2018-05-09 Thread Remko Popma
t;>>>>> Disruptor. I don’t know what the equivalent of the latter is in >> the >>>>> .NET >>>>>>> world. >>>>>>> >>>>>>> It seems that concurrent queues in .net may use Async/await under >>>>

Re: Async Appenders

2018-05-09 Thread William Davis
t;> > >>>>>>> The data structure may be a standard queue, in which case the > >>>>>> “information > >>>>>>> to be logged” is often a LogEvent instance, or it could be a data > >>>>>> structure > >>>&g

Re: Async Appenders

2018-05-09 Thread Dominik Psenner
whereupon the application thread > > >>>> returns > > >>>>>>> immediately to do other work. > > >>>>>>> In the background, another thread reads the information to be > > >> logged > > >>>>> from > &

Re: Async Appenders

2018-05-10 Thread William Davis
e LMAX Disruptor. > > > >>>> AFAIK, > > > >>>>>> that's generally a C++ and Java world. > > > >>>>>> > > > >>>>>>> On 9 May 2018 at 08:47, Remko Popma > > wrote: > > > >>>>>&

Re: Async Appenders

2018-05-10 Thread Dominik Psenner
gt; > >>>>>> On Wed, 9 May 2018, 16:56 Matt Sicker, > > wrote: > > > > >>>>>> > > > > >>>>>> I'd be interesting in hearing about high performant .NET > > > > >> applications > > >

Re: Async Appenders

2018-05-10 Thread William Davis
ever > > > > > >>>> requires us > > > > > >>>>> to provide both a "normal" api and an async api. But doing so > > > > rewards > > > > > >>>> with > > > > > >&g

Re: Async Appenders

2018-05-10 Thread Dominik Psenner
> > > cpu > > > > > > >> tasks > > > > > > >>>>> only pays off it the costs of synchronization and context > > > > switches > > > > > is > > > > > > >>>>> insignificant with respect to

Re: Async Appenders

2018-05-10 Thread William Davis
t; a > > > > > > > >>>>> synchronization point that is chosen with an await. While > > > this > > > > > > works > > > > > > > >>>> best > > > > > > > >>>>> with io, it

Re: Async Appenders

2018-05-11 Thread Dominik Psenner
> > > > > >>>>> async/await comes into play. async/await allows the io > > > > > operation > > > > > > to > > > > > > > > >>>> start > > > > > > > > >>>>> and the