с использованием Serilog Asp.net core dotnet 5 Предварительный просмотр 7
Сообщество Serilog. Во-первых, спасибо за отличную библиотеку!
Я пробую Asp.Net в Net 5 Preview 7 на момент написания этого вопроса. Я создал 2 проекта веб-API, один нацеленный на [netcoreapp3.1], а другой нацеленный на [net5].
Ниже мой код начальной загрузки, он идентичен для обоих API.
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 для таргетинга API [net5] с помощью DotNet 5 preview 7 SDK.
Я также тестировал использование 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" />
1 ответ
Похоже, произошли изменения для входа в DotNet 5. Подробнее см. Ссылку на проблему GitHub,