I upgraded .NET Core 3.1 to .NET 6 and also include serilog. It is noticed that SpanId of log message is gone but I can see RequestId property. I would like to know what is happening behind the scene for this change since I am unable to find a proper changelog.
Here are my .NET 6 packages:
<PackageReference Include="Serilog.AspNetCore" Version="6.1.0" />
<PackageReference Include="Serilog.Enrichers.Environment" Version="2.2.0" />
<PackageReference Include="Serilog.Enrichers.Process" Version="2.0.2" />
<PackageReference Include="Serilog.Enrichers.Thread" Version="3.1.0" />
<PackageReference Include="Serilog.Sinks.AwsCloudWatch" Version="4.0.171" />
These are the .NET Core 3.1 packages:
<PackageReference Include="Serilog.AspNetCore" Version="3.4.0" />
<PackageReference Include="Serilog.Enrichers.Environment" Version="2.2.0" />
<PackageReference Include="Serilog.Enrichers.Process" Version="2.0.2" />
<PackageReference Include="Serilog.Enrichers.Thread" Version="3.1.0" />
<PackageReference Include="Serilog.Sinks.AwsCloudWatch" Version="4.0.171" />
Try installing Serilog.Enrichers.Span and then adding .Enrich.WithSpan()
to the logger setup:
var logger = new LoggerConfiguration()
.Enrich.WithSpan()
...
.CreateLogger();
Check out this github comment, it seems that SpanId
became opt-in in .NET 5.