Serilog.Sinks.PeriodicBatching 4.1.0

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
Diagnostics logger for Azure WebApps
9
Microsoft.Extensions.Logging.AzureAppServices
Logger implementation to support Azure App Services 'Diagnostics logs' and 'Log stream' features.
9
Microsoft.Extensions.Logging.AzureAppServices
Logger implementation to support Azure App Services 'Diagnostics logs' and 'Log stream' features.
11
Microsoft.Extensions.Logging.AzureAppServices
Logger implementation to support Azure App Services 'Diagnostics logs' and 'Log stream' features.
14

.NET Framework 4.6.2

.NET 6.0

.NET Standard 2.0

Version Downloads Last updated
5.0.1-dev-00860 10 12.02.2025
5.0.0 12 16.02.2025
5.0.0-dev-00855 10 03.02.2025
4.1.2-dev-00851 12 11.02.2025
4.1.1 10 20.02.2025
4.1.1-dev-00845 10 13.02.2025
4.1.0 11 19.02.2025
4.1.0-dev-00840 11 16.02.2025
4.0.2-dev-00838 10 16.02.2025
4.0.1 11 16.02.2025
4.0.1-dev-00832 11 19.02.2025
4.0.0 11 19.02.2025
4.0.0-dev-00824 11 16.02.2025
4.0.0-dev-00821 11 16.02.2025
3.1.1-dev-00804 11 09.03.2025
3.1.1-dev-00801 10 13.02.2025
3.1.0 13 19.02.2025
3.1.0-dev-00796 11 16.02.2025
3.0.0 14 20.02.2025
3.0.0-dev-00792 11 08.02.2025
2.3.1 11 16.02.2025
2.3.1-dev-00785 13 16.02.2025
2.3.1-dev-00780 13 15.02.2025
2.3.1-dev-00776 10 15.02.2025
2.3.1-dev-00774 10 16.02.2025
2.3.0 12 16.02.2025
2.3.0-dev-00765 10 16.02.2025
2.3.0-dev-00762 11 16.02.2025
2.3.0-dev-00760 14 15.02.2025
2.2.1-dev-00758 10 16.02.2025
2.2.1-dev-00755 11 16.02.2025
2.2.0 14 19.02.2025
2.2.0-dev-00748 14 25.01.2025
2.2.0-dev-00740 10 16.02.2025
2.1.1 11 16.02.2025
2.1.1-dev-00732 11 15.02.2025
2.1.1-dev-00729 10 08.02.2025
2.1.1-dev-00725 10 16.02.2025
2.1.0 12 16.02.2025
2.1.0-dev-00720 10 16.02.2025
2.0.2-dev-00719 13 16.02.2025
2.0.1 13 16.02.2025
2.0.1-dev-00714 11 16.02.2025
2.0.0 14 16.02.2025
2.0.0-rc-707 8 16.02.2025
2.0.0-rc-705 10 16.02.2025
2.0.0-beta-702 8 16.02.2025
2.0.0-beta-700 9 16.02.2025
2.0.0-beta-519 8 16.02.2025
2.0.0-beta-516 11 16.02.2025
2.0.0-beta-513 9 16.02.2025
2.0.0-beta-511 10 16.02.2025
2.0.0-beta-509 9 16.02.2025
2.0.0-beta-507 8 16.02.2025
2.0.0-beta-505 8 16.02.2025
2.0.0-beta-502 8 16.02.2025
2.0.0-beta-499 9 16.02.2025
2.0.0-beta-495 8 15.02.2025
2.0.0-beta-494 8 16.02.2025
2.0.0-beta-493 8 16.02.2025
2.0.0-beta-487 9 16.02.2025
2.0.0-beta-486 8 06.02.2025
2.0.0-beta-479 9 16.02.2025
2.0.0-beta-478 8 18.02.2025
2.0.0-beta-465 8 16.02.2025