Edit

Application logging in Azure Container Apps

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.

Next steps