Serilog.Sinks.PeriodicBatching 4.0.0-dev-00821

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.Sinks.Elasticsearch
30
Serilog.Sinks.Http
Serilog event sink that sends HTTP POST requests over the network.
29
Serilog.Sinks.MSSqlServer
A Serilog sink that writes events to Microsoft SQL Server
29
Serilog.Sinks.MSSqlServer
A Serilog sink that writes events to Microsoft SQL Server
30
Serilog.Sinks.MSSqlServer
A Serilog sink that writes events to Microsoft SQL Server
31
Serilog.Sinks.MSSqlServer
A Serilog sink that writes events to Microsoft SQL Server
32
Serilog.Sinks.MSSqlServer
A Serilog sink that writes events to Microsoft SQL Server
33
Serilog.Sinks.MSSqlServer
A Serilog sink that writes events to Microsoft SQL Server and Azure SQL
31
Serilog.Sinks.MSSqlServer
A Serilog sink that writes events to Microsoft SQL Server and Azure SQL
32

.NET Framework 4.6.2

.NET 6.0

.NET Standard 2.0

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