rebus-org / Rebus.Serilog

:bus: Serilog logging integration for Rebus
https://mookid.dk/category/rebus
Other
8 stars 6 forks source link
rebus serilog

# Rebus.Serilog

install from nuget

Provides a Serilog logging integration for Rebus.


Do it like this if you just want Rebus to use your global Serilog logger directly:

Configure.With(...)
    .Logging(l => l.Serilog())
    .Transport(t => t.Use(...))
    .(...)
    .Start();

or like this if you want to customize it:

var logger = Log.ForContext("queue", queueName);

Configure.With(...)
    .Logging(l => l.Serilog(logger))
    .Transport(t => t.Use(..., queueName))
    .(...)
    .Start();

Initialize your Serilog logging with Rebus' correlation ID enricher if you'd like the correlation ID of handled messages to be added automatically to all log output generated from message handlers:

Log.Logger = new LoggerConfiguration()
    .WriteTo.(...)
    .Enrich.WithRebusCorrelationId("CorrelationId")
    .CreateLogger();

and then either use real structured logging (e.g. to an aggregator like Elastic), or remember to include it in your output template (here shown with ColoredConsole):

//                                                                                  👇
Log.Logger = new LoggerConfiguration()
    .WriteTo.ColoredConsole(outputTemplate: "{Timestamp:HH:mm:ss} {Level:u3} ({CorrelationId}) {Message}{NewLine}{Exception}")
    .(...)