В потоке журналов Azure Functions Application Insights не отображаются записи журнала, но фактические журналы отображаются в поиске транзакций

#azure-functions #azure-application-insights

Вопрос:

Тестовая функция в плане потребления Linux, которая просто регистрирует заголовки HTTP-запросов:

 public async Task<IActionResult> Run(
            [HttpTrigger(AuthorizationLevel.Anonymous, "post", Route = null)] HttpRequest req,
            ILogger log)
{
    log.LogInformation("C# HTTP trigger function processed a request.");

    log.LogInformation("Request headers:");
   
    foreach (var header in req.Headers)
    {
        log.LogInformation($"{header.Key} : {header.Value}");
    }

    ...
}
 

Это то, что показывает поток журнала Application Insights в режиме реального времени:

 2021-03-30T19:09:19Z   [Information]   C# HTTP trigger function processed a request.
2021-03-30T19:09:19Z   [Information]   Request headers:
 

Как вы можете видеть, он показал запись «Заголовки запросов:», но зарегистрированные записи в foreach цикле не отображаются.

Однако, если я просмотрю фактические журналы в Application insights, они действительно содержат зарегистрированные записи заголовка.

Но смысл «потока журналов» состоит в том, чтобы показывать эти вещи почти в реальном времени для удобной отладки. Фактические журналы транзакций могут задерживаться на несколько минут.

Кроме того, иногда журналы отображаются в потоке журналов (случайным образом), но часто этого не происходит. Эта функция даже не находится в производстве, поэтому трафика практически нет.

Является ли это просто ограничением производительности потока журналов? Есть ли лучший способ обойти это? Я знаю, что могу отлаживать функции локально, но реальные запросы должны попадать в реальную функцию. Кроме того, поскольку я предпочитаю план потребления Linux, поток журнала «файловая система» недоступен.

Комментарии:

1. Если вы заметили, что в Application insight отсутствуют журналы, пожалуйста, проверьте, включена ли выборка или нет : docs.microsoft.com/en-us/azure/azure-monitor/app/sampling Также, пожалуйста, проверьте : docs.microsoft.com/en-us/azure/azure-monitor/app/…

2. Сами журналы не отсутствуют, как я вижу их в поиске журналов/транзакций. Но многие из них не отображаются в потоке «живого» журнала для целей отладки в реальном времени.