Azure Functions Application Insights 日志流未显示日志条目,但实际日志确实显示在事务搜索中

时间:2021-03-30 19:25:56

标签: 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:

如您所见,它显示了“Request headers:”条目,但未显示 foreach 循环中记录的条目。

但是,如果我查看应用洞察中的实际日志,它们确实包含记录的标头条目。

但是“日志流”的目的是为了方便调试,近乎实时地显示这些东西。实际的事务日志可能会滞后几分钟。

此外,有时日志确实会显示在日志流中(随机),但通常不会。此功能甚至尚未投入生产,因此几乎没有流量。

这只是日志流的性能限制吗?有没有更好的方法来解决这个问题?我知道我可以在本地调试函数,但真正的请求必须命中真正的函数。另外因为我更喜欢 Linux 消费计划,所以“文件系统”日志流不可用。

0 个答案:

没有答案