1. Environment
2. Packages
3. Program.cs
4. Log libraries
- ILogger
- Serilog
With
WithLogging().AddOtlpExporter() registered, inject ILogger<T> as usual:Documentation Index
Fetch the complete documentation index at: /llms.txt
Use this file to discover all available pages before exploring further.
OpenTelemetry for ASP.NET Core on Tracelit — ILogger and Serilog.
OTEL_SERVICE_NAME=my-service
OTEL_RESOURCE_ATTRIBUTES=deployment.environment=production
OTEL_EXPORTER_OTLP_ENDPOINT=https://ingest.tracelit.app
OTEL_EXPORTER_OTLP_PROTOCOL=http/protobuf
OTEL_EXPORTER_OTLP_HEADERS=Authorization=Bearer <WORKSPACE_INGEST_KEY>
dotnet add package OpenTelemetry.Extensions.Hosting
dotnet add package OpenTelemetry.Exporter.OpenTelemetryProtocol
dotnet add package OpenTelemetry.Instrumentation.AspNetCore
dotnet add package OpenTelemetry.Instrumentation.Http
builder.Services.AddOpenTelemetry()
.ConfigureResource(r => r.AddService(builder.Environment.ApplicationName))
.WithTracing(t => t
.AddAspNetCoreInstrumentation()
.AddHttpClientInstrumentation()
.AddOtlpExporter())
.WithLogging(l => l.AddOtlpExporter());
WithLogging(), you get traces/metrics only — onboarding will wait forever for INFO/ERROR logs.WithLogging().AddOtlpExporter() registered, inject ILogger<T> as usual:_logger.LogInformation("order listed {Count}", 3);
_logger.LogError(ex, "payment failed");
dotnet add package Serilog.Sinks.OpenTelemetry
http/protobuf), and Authorization header as your tracer._logger.Information("order listed {Count}", 3);
_logger.Error(ex, "payment failed");