在 Azure Functions 中启用流式传输执行日志功能

开发应用程序时,通常需要了解在 Azure 中运行时近实时地写入日志的内容。

可以通过两种方式查看由函数执行生成的日志文件流。

  • 内置日志流式处理:借助应用服务平台即可查看应用程序日志文件流。 这等效于在本地开发期间调试函数时以及在门户中使用“测试”选项卡时所显示的输出。 此时将显示所有基于日志的信息。 有关详细信息,请参阅流式处理日志。 这种流式处理方法仅支持单个实例,不能用于在消耗计划中的 Linux 上运行的应用。

  • 实时指标流:当函数应用 连接到 Application Insights 时,可以使用 实时指标流在 Azure 门户中近实时地查看日志数据和其他指标。 当监视在多个实例或消耗计划中的 Linux 上运行的函数时,请使用此方法。 此方法使用抽样数据

可以在门户和大多数本地开发环境中查看日志流。

门户

可以在门户中查看这两种类型的日志流。

内置日志流式处理

若要在门户中查看流式处理日志,请在“监视”下选择“日志流式处理”。

实时指标流

若要查看应用的实时指标流,请选择函数应用的“概述”选项卡。 Application Insights 启用后,“配置的功能”下将显示“Application Insights”链接 。 使用此链接将转到应用的“Application Insights”页。

在 Application Insights 中,选择“实时指标流”。 “示例遥测”下降显示采样日志条目

在门户中查看实时指标流

Visual Studio Code

若要在 Azure 中为函数应用启用流式处理日志,请执行以下操作:

  1. 选择 F1 打开命令面板,然后搜索并运行命令“Azure Functions: 开始流式处理日志”。

  2. 在 Azure 中选择函数应用,然后选择“是” 为函数应用启用应用程序日志记录。

  3. 在 Azure 中触发函数。 请注意,日志数据显示在 Visual Studio Code 的“输出”窗口中。

  4. 完成后,请记得运行命令“Azure Functions: 停止流式处理日志”为函数应用禁用日志记录。

Core Tools

内置日志流式处理

使用 func azure functionapp logstream 命令开始接收在 Azure 中运行的特定函数应用的流式处理日志,如以下示例所示:

func azure functionapp logstream <FunctionAppName>

备注

尚未在 Core Tools 中为在消耗计划中的 Linux 上运行的函数应用启用内置流式处理。 相反,对于这些托管计划,你需要使用实时指标流近乎实时地查看日志。

实时指标流

通过包含 --browser 选项,可在新的浏览器窗口中查看函数应用的实时指标流,如下例所示:

func azure functionapp logstream <FunctionAppName> --browser

Azure CLI

可以使用 Azure CLI 启用流式处理日志。 使用以下命令登录,选择订阅并流式传输日志文件:

az login
az account list
az account set --subscription <subscriptionNameOrId>
az webapp log tail --resource-group <RESOURCE_GROUP_NAME> --name <FUNCTION_APP_NAME>

Azure PowerShell

可以使用 Azure PowerShell 启用流式处理日志。 对于 PowerShell,请使用 Set-AzWebApp 命令在函数应用上启用日志记录,如以下代码片段所示:

# Enable Logs
Set-AzWebApp -RequestTracingEnabled $True -HttpLoggingEnabled $True -DetailedErrorLoggingEnabled $True -ResourceGroupName $ResourceGroupName -Name $AppName

有关详细信息,请参阅完整代码示例

后续步骤