Serilog.Sinks.PeriodicBatching 5.0.0-dev-00855

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.

[!IMPORTANT] Serilog 4.x and later versions support batching natively. New projects should use Serilog's IBatchedLogEventSink and WriteTo.Sink(IBatchedLogEventSink), not this package which is now only maintained for compatibility reasons.

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
12
Microsoft.Extensions.Logging.AzureAppServices
Logger implementation to support Azure App Services 'Diagnostics logs' and 'Log stream' features.
12
Microsoft.Extensions.Logging.AzureAppServices
Logger implementation to support Azure App Services 'Diagnostics logs' and 'Log stream' features.
13
Serilog.Sinks.MSSqlServer
A Serilog sink that writes events to Microsoft SQL Server
11
Serilog.Sinks.MSSqlServer
A Serilog sink that writes events to Microsoft SQL Server
12
Serilog.Sinks.MSSqlServer
A Serilog sink that writes events to Microsoft SQL Server
13
Serilog.Sinks.MSSqlServer
A Serilog sink that writes events to Microsoft SQL Server
14
Serilog.Sinks.MSSqlServer
A Serilog sink that writes events to Microsoft SQL Server and Azure SQL
11
Serilog.Sinks.MSSqlServer
A Serilog sink that writes events to Microsoft SQL Server and Azure SQL
12

.NET Framework 4.6.2

.NET Framework 4.7.1

.NET 6.0

.NET 8.0

.NET Standard 2.0

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