Note
Access to this page requires authorization. You can try signing in or changing directories.
Access to this page requires authorization. You can try changing directories.
Azure Container Apps provides three application log categories:
- Container console logs stream from your container console.
- System logs are generated by the Azure Container Apps service.
- HTTP logs are emitted from the ingress layer when enabled through Azure Monitor diagnostic settings.
You can view the log streams in near real-time in the Azure portal or CLI. For more options to store and monitor your logs, see Logging options.
Container console logs
Console logs originate from the stderr and stdout messages from the containers in your container app and Dapr sidecars. When you implement logging in your application, you can troubleshoot problems and monitor the health of your app.
Tip
Instrumenting your code with well-defined log messages can help you understand how your code is performing and to debug issues. For more information about best practices, see Design for operations.
System logs
Azure Container Apps generates system logs to inform you about the status of service-level events. The log messages include the following information:
- Successfully created Dapr component
- Successfully updated Dapr component
- Error creating Dapr component
- Successfully mounted volume
- Error mounting volume
- Successfully bound domain
- Auth enabled on app
- Creating authentication config
- Auth config created successfully
- Setting a traffic weight
- Creating a new revision
- Successfully provisioned revision
- Deactivating old revisions
- Error provisioning revision
System logs emit the following messages:
| Source | Type | Message |
|---|---|---|
| Dapr | Info | Successfully created Dapr component <component-name> with scope <dapr-component-scope> |
| Dapr | Info | Successfully updated Dapr component <component-name> with scope <component-type> |
| Dapr | Error | Error creating Dapr component <component-name> |
| Volume Mounts | Info | Successfully mounted volume <volume-name> for revision <revision-scope> |
| Volume Mounts | Error | Error mounting volume <volume-name> |
| Domain Binding | Info | Successfully bound domain <domain> to the container app <container app name> |
| Authentication | Info | Auth enabled on app. Creating authentication config |
| Authentication | Info | Auth config created successfully |
| Traffic weight | Info | Setting a traffic weight of <percentage>% for revision <revision-name\> |
| Revision Provisioning | Info | Creating a new revision: <revision-name> |
| Revision Provisioning | Info | Successfully provisioned revision <name> |
| Revision Provisioning | Info | Deactivating old revisions since 'ActiveRevisionsMode=Single' |
| Revision Provisioning | Error | Error provisioning revision <revision-name>. ErrorCode: <[ErrImagePull]|[Timeout]|[ContainerCrashing]> |
HTTP logs
In addition to console and system logs, Azure Container Apps supports HTTP logs through Azure Monitor diagnostic settings at the managed environment level.
HTTP logs are emitted from the ingress layer and help you diagnose request traffic behavior, including 5xx responses, latency patterns, retries, and WebSocket disconnects. You can route these logs to destinations such as Log Analytics for query and analysis.
HTTP logs are opt-in and disabled by default.
For an example of configuring and querying HTTP logs with Log Analytics, see Monitor logs in Azure Container Apps with Log Analytics.