sentry-dotnet icon indicating copy to clipboard operation
sentry-dotnet copied to clipboard

Adding Serilog stops Sentry from reporting Scope properties

Open georgiosd opened this issue 6 months ago • 12 comments

Package

Sentry.Serilog

.NET Flavor

.NET Core

.NET Version

8.0.0

OS

Windows

SDK Version

4.10.1

Self-Hosted Sentry Version

No response

Steps to Reproduce

Scaffold new project:

dotnet new webapi -o SentryScopeApi

Edit .csproj:

<Project Sdk="Microsoft.NET.Sdk.Web">

  <PropertyGroup>
    <TargetFramework>net8.0</TargetFramework>
    <Nullable>enable</Nullable>
    <ImplicitUsings>enable</ImplicitUsings>
  </PropertyGroup>

  <ItemGroup>
    <PackageReference Include="Sentry.AspNetCore" Version="4.10.1" />
    <PackageReference Include="Sentry.Serilog" Version="4.10.1" />
    <PackageReference Include="Serilog.AspNetCore" Version="8.0.2" />
  </ItemGroup>

</Project>

Edit Program.cs

using Serilog;

Log.Logger = new LoggerConfiguration()
    .WriteTo.Console()
    .CreateLogger();

var builder = WebApplication.CreateBuilder(args);

builder.WebHost.UseSentry(s =>
{
    s.Dsn = "...";
});

builder.Services.AddSerilog(s => s.WriteTo.Sentry()); // if we remove this, it all goes according to plan

var app = builder.Build();

var logger = app.Services.GetRequiredService<ILogger<Program>>();
var sentry = app.Services.GetRequiredService<IHub>();

using (logger.BeginScope(new Dictionary<string, object> { ["Key1"] = "Value" }))
{
    sentry.CaptureException(new InvalidOperationException(DateTime.Now.ToString()));
}

app.Run();

Expected Result

Sentry issue contains "Key1" value.

Actual Result

Sentry issue does not contain "Key1" value.

georgiosd avatar Aug 20 '24 08:08 georgiosd