使用 Serilog Asp.net 核心 dotnet 5 预览版 7

using Serilog Asp.net core dotnet 5 preview 7

Serilog 社区。 首先,感谢伟大的图书馆!

在撰写此问题时,我正在 Net 5 Preview 7 上试用 Asp.Net。我创建了 2 个 Web API 项目,一个针对 [netcoreapp3.1],另一个针对 [net5]。

下面是我的引导代码,APIs

都是一样的
using System.Diagnostics;
using Microsoft.AspNetCore.Hosting;
using Microsoft.Extensions.Hosting;
using Serilog;
using Serilog.Formatting.Elasticsearch;

namespace WebApplication1
{
    public class Program
    {
        public static void Main(string[] args)
        {
            Activity.DefaultIdFormat = ActivityIdFormat.W3C;
            Log.Logger = new LoggerConfiguration()
                .MinimumLevel.Debug()
                .Enrich.FromLogContext()
                .WriteTo.Console(new ExceptionAsObjectJsonFormatter(renderMessage: true))
                .CreateLogger();
            CreateHostBuilder(args).Build().Run();
        }

        public static IHostBuilder CreateHostBuilder(string[] args) =>
            Host.CreateDefaultBuilder(args)
            .UseSerilog()
                .ConfigureWebHostDefaults(webBuilder =>
                {
                    webBuilder.UseStartup<Startup>();
                });
    }
}

问题是当我查看日志时,我不再看到 TraceId 和 SpanId 用于使用 DotNet 5 预览版 7 SDK 的 API 目标 [net5] .

我还使用 vanilla Logger 进行了测试,没有出现任何问题。我是否必须配置某些东西,我只是错过了什么,还是 DotNet 5 Preview SDK 还没有完全支持?

感谢您提供任何信息,非常感谢。

PS:使用的 Serilog Nuget 包

<PackageReference Include="Serilog.AspNetCore" Version="3.4.0" />
<PackageReference Include="Serilog.Formatting.Elasticsearch" Version="8.2.0" />

DotNet 5 中的日志记录似乎发生了变化。请查看此处链接的 GitHub 问题了解详细信息,

serilog-aspnetcore github issue