Serilog.Sinks.PeriodicBatching 4.1.1-dev-00845

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.Elasticsearch
Serilog sink for Elasticsearch
108
Serilog.Sinks.Seq
Serilog sink that writes to the Seq log server over HTTP/HTTPS.
55
Serilog.Sinks.Seq
Serilog sink that writes to the Seq event server over HTTP/S.
55
Serilog.Sinks.Seq
Serilog sink that writes to the Seq log server over HTTP/HTTPS.
54
Serilog.Sinks.Http
Serilog event sink that sends HTTP POST requests over the network.
54
Serilog.Sinks.Seq
Serilog sink that writes to the Seq log server over HTTP/HTTPS.
51
Serilog.Sinks.Seq
Serilog sink that writes to the Seq log server over HTTP/HTTPS.
50
Serilog.Sinks.Seq
Serilog sink that writes to the Seq event server over HTTP/S.
50
Serilog.Sinks.Seq
Serilog sink that writes to the Seq event server over HTTP/S.
49
Serilog.Sinks.Http
A Serilog sink sending log events over HTTP.
48
Serilog.Sinks.Seq
Serilog sink that writes to the Seq log server over HTTP/HTTPS.
48
Serilog.Sinks.Seq
Serilog sink that writes to the Seq log server over HTTP/S.
48

.NET Framework 4.6.2

.NET 6.0

.NET Standard 2.0

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