Код: Выделить всё
var builder = WebApplication.CreateBuilder(args);
var services = builder.Services;
// OpenTelemetry stuff...
var otel = services.AddOpenTelemetry();
otel.WithMetrics(metrics => metrics
.AddAspNetCoreInstrumentation()
.AddMeter("Microsoft.AspNetCore.Hosting")
.AddMeter("Microsoft.AspNetCore.Server.Kestrel")
);
otel.WithTracing(tracing =>
{
tracing.AddAspNetCoreInstrumentation();
tracing.AddHttpClientInstrumentation();
tracing.AddConsoleExporter();
});
[...]
// JSON Microsoft logger added like so...
var loggerFactory = LoggerFactory.Create(builder =>
{
builder.ClearProviders();
builder.AddConfiguration(configuration.GetSection("Logging"))
.AddConsole();
builder.AddConsoleFormatter();
});
services.AddSingleton(loggerFactory);
services.AddLogging();
Код: Выделить всё
{"message":"Hosting starting","machineName":"XXX","source":"Microsoft.Extensions.Hosting.Internal.Host","level":"Debug","timestamp":"2024-03-14T19:38:23.2569003+01:00"}
Activity.TraceId: 8794488a000a8aa943fb4bd76b8becbe
Activity.SpanId: bae785686698f263
Activity.TraceFlags: Recorded
Activity.ActivitySourceName: System.Net.Http
Activity.DisplayName: GET
Activity.Kind: Client
[..]
{"message":"Now listening on: https://localhost:6001","...}

Подробнее здесь: https://stackoverflow.com/questions/781 ... son-format