Мы используем ILogger на веб-сайте ASP. NET Core 3.1 с использованием пакета Microsoft.ApplicationInsights.AspNetCore версии 2.14. Мы пытаемся включить регистрацию информационных сообщений в App Insight, например. _logger.LogInformation ("здесь информация")
В нашем запуске в ConfigureServices мы включаем App Insights:
services.AddApplicationInsightsTelemetry();
У нас есть следующие настройки приложения. json файл:
{
"Logging": {
"LogLevel": {
"Default": "Information",
"Microsoft": "Warning",
"Microsoft.Hosting.Lifetime": "Information"
}
},
"ApplicationInsights": {
"InstrumentationKey": "12345678-1234-5678-1234-1234567890ab",
"LogLevel": {
"Default": "Information",
"Microsoft": "Warning",
"Microsoft.Hosting.Lifetime": "Information"
}
},
Он правильно получает ключ аналитики приложения (мы получаем нормальные показатели, записи журнала, такие как исключения), однако ни один из наших вызовов logger.LogInformation («Информация здесь») не отправляется / не записывается на панели инструментов App Insight.
Я нашел этот вопрос, который похож:
ILogger не соблюдает уровень журнала для Application Insights
Но ответ все же на самом деле не касается того, как иметь возможность изменить уровень журнала из настроек приложения. json файл против жесткого кодирования уровня журнала в коде.
Похоже, из документов, это должно "просто работает", но это не так.
https://docs.microsoft.com/en-us/azure/azure-monitor/app/ilogger#control -уровень ведения журнала
Где мы ошибаемся?