Регистрация функций Azure в App Insights не будет вестись ниже уровня предупреждения.C#

Место общения программистов C#
Ответить
Anonymous
 Регистрация функций Azure в App Insights не будет вестись ниже уровня предупреждения.

Сообщение Anonymous »


Я создал новое приложение-функцию Azure с несколькими функциями, но я не могу заставить его распечатывать журналы информации.

У меня есть некоторые существующие функции .NET 3.1 (созданные много лет назад), работающие в более старой среде выполнения (v3), и в моем файле hosts.json установлено следующее значение:

{ "версия": "2.0", "Ведение журнала": { "LogLevel": { «По умолчанию»: «Нет», "Function.MyFunc.User": "Информация", "Function.MyFunc": "Предупреждение" }, "applicationInsights": { "Настройки выборки": { «isEnabled»: ложь } } } } Это ОТЛИЧНО работает для моих существующих функций. Он распечатывает ошибки, выданные функцией, а также записывает информацию, которую я получаю, используя log.LogInformation(xxx).

Проблема, с которой я столкнулся, заключается в том, что теперь я создал несколько новых функций, используя .NET 8 и более новую среду выполнения (v4), и я просто не могу заставить их регистрироваться так же, как мои существующие функции. Для справки: я просмотрел все вопросы о stackoverflow, которые смог найти (например, этот), и прочитал документацию MS, в которой подробно описано, как это сделать. К сожалению, ничего из того, что я пробовал, мне не помогло. Вот моя новая функция, файл хоста и файл программы:

пространство имен XXX.Azure.FunctionApps.Mailbox.Functions { общедоступный класс GetMailFolders { частный только для чтения ILogger _logger; общедоступный GetMailFolders (регистратор ILogger) { _logger = регистратор; // также попробовал версию loggerFactory } [Функция("GetMailFolders")] public IActionResult Run([HttpTrigger(AuthorizationLevel.Function, "post")] HttpRequest req) { _logger.LogTrace("Отслеживание сообщения"); _logger.LogDebug("Сообщение об отладке"); _logger.LogInformation("Информационное сообщение"); _logger.LogWarning("Сообщение с предупреждением"); _logger.LogError("Сообщение об ошибке"); _logger.LogCritical("Критическое сообщение"); вернуть новый OkObjectResult (ноль); } } } host.json:

{ "версия": "2.0", "Ведение журнала": { "logLevel": { "Function.GetMailFolders": "Трассировка", "Function.GetMailFolders.User": "Трассировка" }, "applicationInsights": { "Настройки выборки": { «isEnabled»: ложь } } } } Program.cs:

с использованием Microsoft.Azure.Functions.Worker; использование Microsoft.Extensions.DependencyInjection; использование Microsoft.Extensions.Hosting; вар хост = новый HostBuilder() .ConfigureFunctionsWebApplication() .ConfigureServices(услуги => { Services.AddApplicationInsightsTelemetryWorkerService(); Services.ConfigureFunctionsApplicationInsights(); }) .Строить(); хост.Выполнить(); Я попробовал около 20 различных комбинаций. Включая пространство имен функции «Function.GetMailFolders», «Function.GetMailFolders.User», «default», «Function» и т. д. Некоторые настройки изменили подробность журналов инициализации функции, журналов запросов и т. д. Но ничто из того, что я установил, не повлияет на журналы, которые я пытаюсь распечатать в аналитике приложений, а именно:


Изображение


Даже если я попытаюсь полностью отключить логи, эти три строки появляются каждый раз. Независимо от того, что я пробовал, предупреждение и выше — единственные, которые когда-либо появятся.
Ответить

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

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

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

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

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