Serilog.Sinks.PeriodicBatching 4.0.1-dev-00832

Serilog.Sinks.PeriodicBatching Build status NuGet Version

A wrapper for Serilog sinks that asynchronously emits events in batches, useful when logging to a slow and/or remote target.

Getting started

Sinks that, for performance reasons, need to emit events in batches, can be implemented using PeriodicBatchingSink from this package.

First, install the package into your Sink project:

dotnet add package Serilog.Sinks.PeriodicBatching

Then, instead of implementing Serilog's ILogEventSink, implement IBatchedLogEventSink in your sink class:

class ExampleBatchedSink : IBatchedLogEventSink
{
    public async Task EmitBatchAsync(IEnumerable<LogEvent> batch)
    {
        foreach (var logEvent in batch)
            Console.WriteLine(logEvent);
    }
    
    public Task OnEmptyBatchAsync() { }
}

Finally, in your sink's configuration method, construct a PeriodicBatchingSink that wraps your batched sink:

public static class LoggerSinkExampleConfiguration
{
    public static LoggerConfiguration Example(this LoggerSinkConfiguration loggerSinkConfiguration)
    {
        var exampleSink = new ExampleBatchedSink();
        
        var batchingOptions = new PeriodicBatchingSinkOptions
        {
            BatchSizeLimit = 100,
            Period = TimeSpan.FromSeconds(2),
            EagerlyEmitFirstEvent = true,
            QueueLimit = 10000
        };
        
        var batchingSink = new PeriodicBatchingSink(exampleSink, batchingOptions);
        
        return loggerSinkConfiguration.Sink(batchingSink);
    }
}

Showing the top 20 packages that depend on Serilog.Sinks.PeriodicBatching.

Packages Downloads
Serilog.Sinks.Seq
Serilog sink that writes to the Seq log server over HTTP/HTTPS.
35
Serilog.Sinks.Seq
Serilog sink that writes to the Seq event server over HTTP/S.
35
Serilog.Sinks.Seq
Serilog sink that writes to the Seq log server over HTTP/HTTPS.
34
Serilog.Sinks.Http
A Serilog sink sending log events over HTTP.
33
Serilog.Sinks.Seq
A Serilog sink that writes events to Seq using newline-delimited JSON and HTTP/HTTPS.
33
Serilog.Sinks.Seq
Serilog sink that writes to the Seq log server over HTTP/HTTPS.
33
Serilog.Sinks.Http
Serilog event sink that sends HTTP POST requests over the network.
33
Serilog.Sinks.Http
A Serilog sink sending log events over HTTP.
32
Serilog.Sinks.Seq
Serilog sink that writes to the Seq log server over HTTP/HTTPS.
32
Serilog.Sinks.Http
Serilog event sink that sends HTTP POST requests over the network.
32

.NET Framework 4.6.2

.NET 6.0

.NET Standard 2.0

Version Downloads Last updated
5.0.1-dev-00860 35 12/12/2025
5.0.0 34 12/13/2025
5.0.0-dev-00855 28 12/13/2025
4.1.2-dev-00851 20 12/14/2025
4.1.1 37 12/10/2025
4.1.1-dev-00845 22 12/28/2025
4.1.0 40 12/14/2025
4.1.0-dev-00840 30 12/10/2025
4.0.2-dev-00838 29 01/03/2026
4.0.1 33 12/10/2025
4.0.1-dev-00832 19 01/03/2026
4.0.0 21 12/18/2025
4.0.0-dev-00824 18 12/17/2025
4.0.0-dev-00821 23 12/13/2025
3.1.1-dev-00804 31 12/11/2025
3.1.1-dev-00801 30 01/03/2026
3.1.0 22 12/14/2025
3.1.0-dev-00796 23 12/19/2025
3.0.0 23 12/11/2025
3.0.0-dev-00792 37 12/12/2025
2.3.1 27 12/12/2025
2.3.1-dev-00785 26 01/04/2026
2.3.1-dev-00780 27 01/05/2026
2.3.1-dev-00776 21 12/26/2025
2.3.1-dev-00774 31 01/03/2026
2.3.0 35 12/11/2025
2.3.0-dev-00765 28 01/01/2026
2.3.0-dev-00762 36 12/12/2025
2.3.0-dev-00760 37 12/11/2025
2.2.1-dev-00758 31 12/30/2025
2.2.1-dev-00755 24 01/03/2026
2.2.0 20 12/12/2025
2.2.0-dev-00748 28 12/13/2025
2.2.0-dev-00740 36 12/09/2025
2.1.1 27 12/14/2025
2.1.1-dev-00732 28 12/10/2025
2.1.1-dev-00729 31 12/12/2025
2.1.1-dev-00725 21 12/10/2025
2.1.0 26 12/22/2025
2.1.0-dev-00720 26 12/10/2025
2.0.2-dev-00719 29 01/03/2026
2.0.1 24 12/30/2025
2.0.1-dev-00714 35 12/29/2025
2.0.0 34 12/13/2025
2.0.0-rc-707 33 12/10/2025
2.0.0-rc-705 30 12/14/2025
2.0.0-beta-702 22 12/12/2025
2.0.0-beta-700 23 12/20/2025
2.0.0-beta-519 25 12/21/2025
2.0.0-beta-516 21 12/21/2025
2.0.0-beta-513 19 12/20/2025
2.0.0-beta-511 30 12/20/2025
2.0.0-beta-509 22 12/20/2025
2.0.0-beta-507 24 12/20/2025
2.0.0-beta-505 24 12/12/2025
2.0.0-beta-502 33 12/10/2025
2.0.0-beta-499 28 12/20/2025
2.0.0-beta-495 33 12/11/2025
2.0.0-beta-494 29 12/20/2025
2.0.0-beta-493 31 12/10/2025
2.0.0-beta-487 26 12/11/2025
2.0.0-beta-486 29 12/12/2025
2.0.0-beta-479 30 12/21/2025
2.0.0-beta-478 29 12/19/2025
2.0.0-beta-465 19 12/21/2025