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.Seq
Serilog sink that writes to the Seq log server over HTTP/HTTPS.
1,308
Serilog.Sinks.Seq
Serilog sink that writes to the Seq log server over HTTP/HTTPS.
411
Serilog.Sinks.Http
A Serilog sink sending log events over HTTP.
33
Serilog.Sinks.Seq
Serilog sink that writes to the Seq log server over HTTP/HTTPS.
31
Serilog.Sinks.Http
A Serilog sink sending log events over HTTP.
31
Serilog.Sinks.Http
A Serilog sink sending log events over HTTP.
30
Serilog.Sinks.Http
Serilog event sink that sends HTTP POST requests over the network.
29
Serilog.Sinks.Seq
Serilog sink that writes to the Seq log server over HTTP/HTTPS.
29
Serilog.Sinks.Http
A Serilog sink sending log events over HTTP.
29
Serilog.Sinks.Http
A Serilog sink sending log events over HTTP.
28
Serilog.Sinks.Http
Serilog event sink that sends HTTP POST requests over the network.
28
Serilog.Sinks.Seq
Serilog sink that writes to the Seq log server over HTTP/S.
28

.NET Framework 4.6.2

.NET 6.0

.NET Standard 2.0

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