title | description | ms.date | ms.topic | ms.custom | ms.devlang |
---|---|---|---|---|---|
Stream execution logs in Azure Functions |
Learn how you can stream logs for functions in near real time. |
9/1/2020 |
how-to |
contperf-fy21q2, devx-track-azurepowershell, devx-track-azurecli |
azurecli |
While developing an application, you often want to see what's being written to the logs in near real time when running in Azure.
There are two ways to view a stream of log files being generated by your function executions.
-
Built-in log streaming: the App Service platform lets you view a stream of your application log files. This is equivalent to the output seen when you debug your functions during local development and when you use the Test tab in the portal. All log-based information is displayed. For more information, see Stream logs. This streaming method supports only a single instance, and can't be used with an app running on Linux in a Consumption plan.
-
Live Metrics Stream: when your function app is connected to Application Insights, you can view log data and other metrics in near real-time in the Azure portal using Live Metrics Stream. Use this method when monitoring functions running on multiple-instances or on Linux in a Consumption plan. This method uses sampled data.
Log streams can be viewed both in the portal and in most local development environments.
You can view both types of log streams in the portal.
To view streaming logs in the portal, select the Platform features tab in your function app. Then, under Monitoring, choose Log streaming.
This connects your app to the log streaming service and application logs are displayed in the window. You can toggle between Application logs and Web server logs.
To view the Live Metrics Stream for your app, select the Overview tab of your function app. When you have Application Insights enabled, you see an Application Insights link under Configured features. This link takes you to the Application Insights page for your app.
In Application Insights, select Live Metrics Stream. Sampled log entries are displayed under Sample Telemetry.
[!INCLUDE functions-enable-log-stream-vs-code]
[!INCLUDE functions-streaming-logs-core-tools]
You can enable streaming logs by using the Azure CLI. Use the following commands to sign in, choose your subscription, and stream log files:
az login
az account list
az account set --subscription <subscriptionNameOrId>
az webapp log tail --resource-group <RESOURCE_GROUP_NAME> --name <FUNCTION_APP_NAME>
You can enable streaming logs by using Azure PowerShell. For PowerShell, use the Set-AzWebApp command to enable logging on the function app, as shown in the following snippet:
:::code language="powershell" source="~/powershell_scripts/app-service/monitor-with-logs/monitor-with-logs.ps1" range="19-20":::
For more information, see the complete code example.