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

.NET Framework 4.6.2

.NET 6.0

.NET Standard 2.0

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