An easy-to-use Serilog sink that enables logging to SignalR in ASP.NET Core applications.
dotnet add package Serilog.Sinks.AspNetCore.App.SignalR
The simplest setup. A hub is provided out of the box — no custom hub class required. Log events are streamed to clients by calling a named method (e.g. ReceiveEvent) on all connected clients.
builder.Services.AddDefaultSerilogHub();
builder.Services.AddSerilog((serviceProvider, loggerConfiguration) =>
loggerConfiguration.WriteTo.SignalR(serviceProvider, "ReceiveEvent"));
app.MapDefaultSerilogHub("/logs");Use when you need full control over how events are sent. Targets a hub you define and accepts a delegate that gives you direct access to the hub context, formatted message, and raw LogEvent.
builder.Services.AddSerilogHub<MyHub>();
builder.Services.AddSerilog((serviceProvider, loggerConfiguration) =>
loggerConfiguration.WriteTo.SignalR<MyHub>(serviceProvider,
(context, message, logEvent) =>
context.Clients.All.SendAsync("ReceiveEvent", message, logEvent)));
app.MapHub<MyHub>("/logs");