OTEL: переопределение уровня журнала в .NET не работает, если LogLevel.Information указан для определенного пространстваC#

Место общения программистов C#
Ответить
Anonymous
 OTEL: переопределение уровня журнала в .NET не работает, если LogLevel.Information указан для определенного пространства

Сообщение Anonymous »

Я использую OTEL (OpenTelemetry) для ведения журналов и отправки журналов и показателей в Application Insights. Вот как я настраиваю логирование в OTEL:
public static class OpenTelemetrySetup
{

public static IOpenTelemetryBuilder AddOpenTelemetryDefaults(this IServiceCollection service, IConfiguration configuration)
{
if(options.LoggingOptions.LogExporters.Length > 0) {
service.AddLogging(logging =>
{

if(options.LoggingOptions.ClearProviders)
{
logging.ClearProviders();
}
logging.AddFilter("Case", LogLevel.Information);
logging.AddOpenTelemetry(openTelLogOptions =>
{
openTelLogOptions
.SetLoggingOptionsFromConfig(options.LoggingOptions)
.AddLogExportersFromConfig(options);

});
});
}
}
}

Я вызываю вышеуказанный метод из класса запуска веб-API.
// OTEL
services.AddLogging(logging => logging.AddConfiguration(context.Configuration.GetSection("Logging")));
IOpenTelemetryBuilder otelBuilder = services.AddOpenTelemetryDefaults(configService).WithTracing(tracingOptions => { tracingOptions.AddProcessor(new CodeProcessor()); });
otelBuilder.WithNoTracingForStaticFiles();
otelBuilder.WithNoTracingForDependencyHealthEndpoints();

Файл Appsetting Json, в котором я устанавливаю уровни ведения журнала по умолчанию:
"LogLevel": {
"Default": "Warning",
"Microsoft": "Critical",
"Microsoft.Hosting.Lifetime": "Critical",
"MyNameSpace.MyMethod": "Information"
}

У самого OTEL также есть собственный файл settings.json.

Все предупреждения от MyMethod обрабатываются вошел в систему Application Insights,
так как уровень журнала по умолчанию установлен на «Предупреждение». Однако
информационные сообщения не регистрируются, несмотря на переопределение
уровня журнала по умолчанию.

Пример журнала моего метода :
MyMethod{
this.logger.LogWarningWithProperties($"message", properties); // Works

this.logger.LogInformationWithProperties($"message", properties); // Not working
}


Подробнее здесь: https://stackoverflow.com/questions/791 ... tion-is-sp
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «C#»