是否可以将消息发送到 Azure Function App 内部的日志流(App Insights Logs)

Is it possible to send a message out to Log Stream (App Insights Logs) Inside Azure Function App

我觉得这一定是可能的,但我还没有找到答案。

我在我的 Function App 中导航到这里:

然后单击下拉箭头和 select Application Insight 日志

正如您在该图片中看到的那样,有一个带有 [Information] 标记的日志。我想也许我可以在我的 运行 我的 python 脚本的 Azure 函数中做这样的事情:

import logging
logging.info("Hello?")

但是,我无法让消息显示在这些日志中。我实际上如何实现这一目标?如果用 logging.info() 创建的日志出现在其他地方,我也很想知道。

host.json 文件:

{
  "version": "2.0",
  "logging": {
    "applicationInsights": {
      "samplingSettings": {
        "isEnabled": true,
        "excludedTypes": "Request"
      }
    }
  },
  "logLevel": {
    "default": "Information",
    "Host.Results": "Information",
    "Function": "Information",
    "Host.Aggregator": "Information"
  },
  "extensionBundle": {
    "id": "Microsoft.Azure.Functions.ExtensionBundle",
    "version": "[2.*, 3.0.0)"
  },
  "extensions": {
    "queues": {
      "batchSize": 2,
      "maxDequeueCount": 2
    }
  },
  "functionTimeout": "00:45:00"
}

我相信,没有不同的地方可以写日志信息,但是我们需要在 host.json 中相应地更改日志级别以获取不同类型的日志。

我尝试记录此解决方法中的信息级别日志。

  1. 在 VS Code 中,创建了 Azure Functions - Python 堆栈。
  2. 在 Activity 中添加了这段代码 logging.info(f" Calling Activity Function") 函数代码如下:

这是默认的 host.json 代码:

"logging": {
"applicationInsights": {
"samplingSettings": {
"isEnabled": true,
"excludedTypes": "Request"
        }
    }
}

在运行这个持久函数之后,它正在记录信息级别:

请参阅此 ,我在其中提供了有关日志记录级别的信息以及 Azure Python 功能上应用程序洞察日志的优化。

更新答案: