Skip to content

Commit 1498a20

Browse files
authored
Update functions-monitoring-appinsightslogs.md
adding Custom application logs section
1 parent 9743e6d commit 1498a20

1 file changed

Lines changed: 17 additions & 0 deletions

File tree

support/azure/azure-functions/monitoring/functions-monitoring-appinsightslogs.md

Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -30,6 +30,23 @@ If the Application Insights logs are missing, or if the data appears to be parti
3030

3131
**Recommendation**: The function app should be on version 4 and the runtime version should be at least 4.15.2*xx*. This is because, from this version onwards, you can track the log flows from Azure Functions to the Application Insights service. By monitoring the log flows, you can check for missing logs.
3232

33+
34+
## Custom application logs
35+
36+
By default, custom application logs you write are sent to the Functions host, which then sends them to Application Insights under the [Worker category](https://learn.microsoft.com/en-us/azure/azure-functions/configure-monitoring?tabs=v2#configure-categories). Some language stacks allow you to instead send the logs directly to Application Insights, which gives you full control over how logs you write are emitted. In this case, the logging pipeline changes from `worker -> Functions host -> Application Insights` to `worker -> Application Insights`.
37+
38+
The following table summarizes the configuration options available for each stack:
39+
40+
| Language stack | Where to configure custom logs |
41+
|-|-|
42+
| .NET (in-process model) | `host.json` |
43+
| .NET (isolated model) | Default (send custom logs to the Functions host): `host.json`<br/>To send logs directly to Application Insights, see: [Configure Application Insights in the HostBuilder](https://learn.microsoft.com/en-us/azure/azure-functions/dotnet-isolated-process-guide?tabs=hostbuilder%2Cwindows#application-insights) |
44+
| Node.JS | `host.json` |
45+
| Python | `host.json` |
46+
| Java | Default (send custom logs to the Functions host): `host.json`<br/>To send logs directly to Application Insights, see: [Configure the Application Insights Java agent](https://learn.microsoft.com/en-us/azure/azure-monitor/app/monitor-functions#distributed-tracing-for-java-applications) |
47+
| PowerShell | `host.json` |
48+
49+
When you configure custom application logs to be sent directly, the host no longer emits them, and `host.json` no longer controls their behavior. Similarly, the options exposed by each stack apply only to custom logs, and they don't change the behavior of the other runtime logs described in this article. In this case, to control the behavior of all logs, you might need to make changes in both configurations.
3350
## Logs are missing or partial
3451

3552
Application Insights collects log, performance, and error data. [Sampling configuration](/azure/azure-functions/configure-monitoring#configure-sampling) is used to reduce the volume of telemetry. The Sampling feature is enabled by default with the settings shown in the following [host.json](/azure/azure-functions/functions-host-json#applicationinsights) example. Excluded types aren't sampled.

0 commit comments

Comments
 (0)