По умолчанию пакет SDK Application Insights добавляет «предупреждение» фильтр уровня ведения журнала, который можно увидеть на изображении ниже.
Я прочитал, что для настройки ведения журнала Application Insights недостаточно установить уровень ведения журнала по умолчанию с помощью Logging.LogLevel.Default: , вместо этого его необходимо указать явно: Logging.ApplicationInsights.LogLevel.Default:.
Однако даже при явной настройке я по-прежнему наблюдаю предупреждение по умолчанию " фильтр, и мне нужно удалить его вручную в ConfigureLogging().
Что я делаю не так?
Program.cs :
Код: Выделить всё
var host = new HostBuilder()
.ConfigureFunctionsWebApplication((context, builder) => { })
.ConfigureAppConfiguration((context, builder) =>
{
var environment = context.Configuration.GetValue("ENVIRONMENT", "development");
builder.AddJsonFile("appsettings.json", optional: false, reloadOnChange: true)
.AddJsonFile($"appsettings.{environment}.json", optional: true, reloadOnChange: true)
.AddEnvironmentVariables();
})
...
.ConfigureLogging(builder =>
{
builder.Services.Configure(options =>
{
// Default ApplicationInsights logging filter
LoggerFilterRule defaultRule = options.Rules.FirstOrDefault(rule => rule.ProviderName
== "Microsoft.Extensions.Logging.ApplicationInsights.ApplicationInsightsLoggerProvider");
if (defaultRule is not null)
{
options.Rules.Remove(defaultRule);
}
});
builder.AddFilter("", LogLevel.Information);
})
.Build();
Код: Выделить всё
{
"Logging": {
"LogLevel": {
"Default": "Information"
},
"ApplicationInsights": {
"LogLevel": {
"Default": "Information"
}
}
}
}

Подробнее здесь: https://stackoverflow.com/questions/790 ... -azure-fun