Log4j 2使用Disruptor實現非同步日誌

banq發表於2013-07-10
Log4j 2 Asynchronous Loggers for Low-Latency Logging - Apache Log4j 2

Log4j 2使用Disruptor實現非同步日誌,獲得低延時和高吞吐量。

配置如下

<configuration status="WARN">
  <appenders>
    <!-- Async Loggers will auto-flush in batches, so switch off immediateFlush. -->
    <FastFile name="FastFile" fileName="async.log" immediateFlush="false" append="false">
      <PatternLayout>
        <pattern>%d %p %c{1.} [%t] %m %ex%n</pattern>
      </PatternLayout>
    </FastFile>
  </appenders>
  <loggers>
    <root level="info" includeLocation="false">
      <appender-ref ref="FastFile"/>
    </root>
  </loggers>
</configuration>
<p class="indent">


測試結果:

Log4j 2使用Disruptor實現非同步日誌

明顯非同步日誌比同步要有很大吞吐量提升,特別是執行緒很多時效果特別明顯,說明負載量越大時,效果越明顯。

相關文章