Skip to content

[bug] Lack of baggage in Logs #5943

@NatMarchand

Description

@NatMarchand

Package

OpenTelemetry

Package Version

Package Name Version
OpenTelemetry.Api 1.9.0
OpenTelemetry 1.9.0
OpenTelemetry.Exporter.Console 1.9.0

Runtime Version

net8.0

Description

We would like to enable log enrichment + compliance (from Microsoft.Extensions.* packages) on our logs and then use OpenTelemetry to export them.
We would also like to log Baggage from our incoming requests.

Steps to Reproduce

The following minimal program :

using OpenTelemetry.Logs;

var builder = WebApplication.CreateBuilder(args);
builder.Logging
    .Configure(o =>
    {
        o.ActivityTrackingOptions =
            ActivityTrackingOptions.ParentId
            | ActivityTrackingOptions.TraceId
            | ActivityTrackingOptions.SpanId
            | ActivityTrackingOptions.Baggage;
    })
    .AddOpenTelemetry(x =>
    {
        x.IncludeScopes = true;
        x.IncludeFormattedMessage = true;
        x.ParseStateValues = true;
    })
    .EnableEnrichment();
builder.Services
    .AddOpenTelemetry()
    .WithLogging(l => l.AddConsoleExporter());
using var app = builder.Build();
app.MapGet("/", (ILoggerFactory logger) =>
{
    logger.CreateLogger("Test").LogInformation("hi!");
});
app.Run();

With the following request:

var httpClient = new HttpClient();
httpClient.DefaultRequestHeaders.TryAddWithoutValidation("baggage", "userId=alice,serverNode=DF%2028,isProduction=false");
httpClient.DefaultRequestHeaders.TryAddWithoutValidation("traceparent", "00-937cf842584e81ec8f6dc240fe0f7d96-6325bed001e9baeb-01");
await httpClient.GetAsync("http://localhost:5194/");

Expected Result

The following output from ConsoleExporter:

info: Test[0]
      hi!
LogRecord.Timestamp:               2024-10-31T14:18:40.9884314Z
LogRecord.TraceId:                 937cf842584e81ec8f6dc240fe0f7d96
LogRecord.SpanId:                  f12dfbc4d63a1ce1
LogRecord.TraceFlags:              Recorded
LogRecord.CategoryName:            Test
LogRecord.Severity:                Info
LogRecord.SeverityText:            Information
LogRecord.FormattedMessage:        hi!
LogRecord.Body:                    hi!
LogRecord.Attributes (Key:Value):
    OriginalFormat (a.k.a Body): hi!
LogRecord.ScopeValues (Key:Value):
[Scope.0]:SpanId: f12dfbc4d63a1ce1
[Scope.0]:TraceId: 937cf842584e81ec8f6dc240fe0f7d96
[Scope.0]:ParentId: 6325bed001e9baeb
[Scope.1]:userId: alice
[Scope.1]:serverNode: DF 28
[Scope.1]:isProduction: false
[Scope.2]:ConnectionId: 0HN7PMRHTTD6G
[Scope.3]:RequestId: 0HN7PMRHTTD6G:00000001
[Scope.3]:RequestPath: /

Resource associated with LogRecord:
telemetry.sdk.name: opentelemetry
telemetry.sdk.language: dotnet
telemetry.sdk.version: 1.9.0
service.name: unknown_service:TestTelemetry

Actual Result

The following output from ConsoleExporter:

info: Test[0]
      hi!
LogRecord.Timestamp:               2024-10-31T14:26:36.6751436Z
LogRecord.TraceId:                 87071c31b8b00d91a2cd9816f0efcab3
LogRecord.SpanId:                  5682b09b7c7041a7
LogRecord.TraceFlags:              None
LogRecord.CategoryName:            Test
LogRecord.Severity:                Info
LogRecord.SeverityText:            Information
LogRecord.FormattedMessage:        hi!
LogRecord.Body:                    hi!
LogRecord.Attributes (Key:Value):
    OriginalFormat (a.k.a Body): hi!
LogRecord.ScopeValues (Key:Value):
[Scope.0]:SpanId: 5682b09b7c7041a7
[Scope.0]:TraceId: 87071c31b8b00d91a2cd9816f0efcab3
[Scope.0]:ParentId: 0000000000000000
[Scope.1]:ConnectionId: 0HN7PN031MRQ6
[Scope.2]:RequestId: 0HN7PN031MRQ6:00000001
[Scope.2]:RequestPath: /

Resource associated with LogRecord:
telemetry.sdk.name: opentelemetry
telemetry.sdk.language: dotnet
telemetry.sdk.version: 1.9.0
service.name: unknown_service:TestTelemetry

It's missing the baggage values :

[Scope.1]:userId: alice
[Scope.1]:serverNode: DF 28
[Scope.1]:isProduction: false

Additional Context

No response

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugSomething isn't workingpkg:OpenTelemetryIssues related to OpenTelemetry NuGet package

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions