<html><body><div style="color:#000; background-color:#fff; font-family:times new roman, new york, times, serif;font-size:12pt"><div><font size="2" face="Arial">Tony, </font></div><div><br></div><div style="color: rgb(0, 0, 0); font-size: 16px; font-family: times new roman,new york,times,serif; background-color: transparent; font-style: normal;"><font size="2" face="Arial">>> any plans for using LMAX's Disruptor technology for asynchronous logging?<br> </font> <br></div><div style="color: rgb(0, 0, 0); font-size: 13px; font-family: Arial; background-color: transparent; font-style: normal;">> No official plans yet, but I'm interested in incorporating it. We recently mentioned Disruptor briefly in [1].</div><div><div>> [1] <a rel="nofollow" shape="rect" target="_blank" href="https://github.com/qos-ch/logback/pull/170">https://github.com/qos-ch/logback/pull/170</a></div>
</div><div><br>Thanks for the link. The discussion there concerns SocketAppender. From what I know about Disruptors, they are a very general queue, and so should be a fine solution for SocketAppender too.<br><br>My team never logs to sockets, only to the local drive.<br><br>So, I want Disruptors used inside AsyncAppender.<br><br>Or, for top performance, be directly used inside FileAppender (or some new class, call it FastFileAppender, if the existing FileAppender cannot be refactored).<br><br>Just out of curiosity: why does SocketAppender have an internal queue (regardless of type)? If the user wants to asynchonously log
to a socket, could they not wrap a simple (synchronous) socket appender with an AsyncAppender, just like you have to do with other appenders (e.g. FileAppender )? Perhaps the thinking was that asynchronous logging
to a socket is the only mode that makes sense, since the writes are even slower than to, say, a local disk, so
it is even more important that the calling thread quickly return?<br><br></div> </div></body></html>