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
Microsoft.Extensions.Logging.AzureAppServices
Logger implementation to support Azure App Services 'Diagnostics logs' and 'Log stream' features.
25
Serilog.Sinks.Elasticsearch
Package Description
25
Serilog.Sinks.Elasticsearch
Serilog sink for Elasticsearch
26
Serilog.Sinks.Elasticsearch
Serilog sink for Elasticsearch
27
Serilog.Sinks.Elasticsearch
Serilog.Sinks.Elasticsearch
29
Serilog.Sinks.Http
A Serilog sink sending log events over HTTP.
25
Serilog.Sinks.Http
A Serilog sink sending log events over HTTP.
26
Serilog.Sinks.Http
Serilog event sink that sends HTTP POST requests over the network.
25
Serilog.Sinks.Http
Serilog event sink that sends HTTP POST requests over the network.
26
Serilog.Sinks.MSSqlServer
A Serilog sink that writes events to Microsoft SQL Server
25
Serilog.Sinks.MSSqlServer
A Serilog sink that writes events to Microsoft SQL Server
27
Serilog.Sinks.MSSqlServer
A Serilog sink that writes events to Microsoft SQL Server
28
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 and Azure SQL
25
Serilog.Sinks.MSSqlServer
A Serilog sink that writes events to Microsoft SQL Server and Azure SQL
26

.NET Framework 4.6.2

.NET 6.0

.NET Standard 2.0

Version Downloads Last updated
5.0.1-dev-00860 18 10/05/2024
5.0.0 19 02/20/2025
5.0.0-dev-00855 16 02/20/2025
4.1.2-dev-00851 17 01/31/2025
4.1.1 21 02/20/2025
4.1.1-dev-00845 19 01/19/2025
4.1.0 21 02/20/2025
4.1.0-dev-00840 19 10/05/2024
4.0.2-dev-00838 20 10/05/2024
4.0.1 19 02/20/2025
4.0.1-dev-00832 16 02/20/2025
4.0.0 21 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 27 02/23/2024
3.1.0-dev-00796 23 03/03/2024
3.0.0 22 03/14/2024
3.0.0-dev-00792 21 01/17/2025
2.3.1 21 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 17 02/20/2025
2.3.1-dev-00774 18 03/04/2024
2.3.0 20 03/17/2024
2.3.0-dev-00765 19 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 18 03/14/2024
2.2.1-dev-00755 27 03/03/2024
2.2.0 23 03/17/2024
2.2.0-dev-00748 20 03/03/2024
2.2.0-dev-00740 22 03/02/2024
2.1.1 23 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 20 03/03/2024
2.1.0 18 03/18/2024
2.1.0-dev-00720 21 03/02/2024
2.0.2-dev-00719 17 03/04/2024
2.0.1 24 03/17/2024
2.0.1-dev-00714 18 01/31/2025
2.0.0 21 03/17/2024
2.0.0-rc-707 21 03/17/2024
2.0.0-rc-705 21 03/17/2024
2.0.0-beta-702 16 03/17/2024
2.0.0-beta-700 17 03/17/2024
2.0.0-beta-519 20 03/11/2024
2.0.0-beta-516 19 03/16/2024
2.0.0-beta-513 16 03/16/2024
2.0.0-beta-511 22 03/11/2024
2.0.0-beta-509 19 03/16/2024
2.0.0-beta-507 19 03/17/2024
2.0.0-beta-505 18 03/17/2024
2.0.0-beta-502 17 03/16/2024
2.0.0-beta-499 21 03/17/2024
2.0.0-beta-495 17 03/14/2024
2.0.0-beta-494 20 03/16/2024
2.0.0-beta-493 17 03/16/2024
2.0.0-beta-487 18 03/16/2024
2.0.0-beta-486 20 03/16/2024
2.0.0-beta-479 15 01/19/2025
2.0.0-beta-478 17 03/16/2024
2.0.0-beta-465 18 03/11/2024