Raygun's Crash Reporting extension for Blazor Server
$ dotnet add package Raygun.Blazor.ServerRaygun provider for Blazor Server.
Full usage instructions can be found in the Raygun.Blazor package page.
Install the packages Raygun.Blazor and Raygun.Blazor.Server from NuGet.
Add a scoped RaygunBlazorClient by calling to UseRaygunBlazor() with your WebApplication builder.
var builder = WebApplication.CreateBuilder(args);
...
builder.UseRaygunBlazor();
RaygunBlazorClientYou can access the RaygunBlazorClient using @inject in your code:
@inject RaygunBlazorClient RaygunClient
...
RaygunClient.RecordExceptionAsync(...)
Use RaygunErrorBoundary to wrap components and capture unhandled exceptions automatically.
Note: You have to set @rendermode="InteractiveServer" in your HeadOutlet and Routes component to enable error capturing, as explained in Handle errors in ASP.NET Core Blazor apps
For example, in your MainLayout.razor:
@using Raygun.Blazor.Server.Controls
...
<article class="content px-4">
<RaygunErrorBoundary>
@Body
</RaygunErrorBoundary>
</article>
You can set ShowExceptionsUI="true to display a custom error message:
<RaygunErrorBoundary ShowExceptionUI="true">
<ChildContent>
@Body
</ChildContent>
<ErrorContent>
<p class="errorUI">👾 Error captured by Raygun!</p>
</ErrorContent>
</RaygunErrorBoundary>
Example project is located in src/Raygun.Samples.Blazor.Server