忽略发送日志以在.net中进行跟踪

问题描述 投票:0回答:1

我正在使用 OpenTelemetry 通过以下代码将跟踪发送到 Jaeger int .net 6:

    services.AddOpenTelemetry()
        .ConfigureResource(configureResource)
        .WithTracing(b =>
        {
            b.AddAspNetCoreInstrumentation()
                .AddHttpClientInstrumentation()
                .AddSqlClientInstrumentation()
                .AddOtlpExporter(options => { options.Endpoint = new Uri("http://localhost:4317"); });
        });

问题是所有使用ILogger的日志和所有健康检查都发送到Jaeger。 我想忽略他们。

c# .net trace open-telemetry jaeger
1个回答
0
投票

AddAspNetCoreInstrumentation
具有超载的 options。您可以配置
Filter
选项来过滤不需要的请求:

builder.AddAspNetCoreInstrumentation(options =>
{
    options.Filter = (httpContext) =>
    {
        options.Filter = context => !context.Request.Path.Equals("/health");
    };
})

要停止发送日志,您需要从

Program.cs
文件中删除 OpenTelemetry 日志记录提供程序。

© www.soinside.com 2019 - 2024. All rights reserved.