View and filter DAPR application and sidecar logs for debugging
Streams and filters DAPR application and sidecar logs across local, Docker, Kubernetes, and Azure Container Apps environments.
/plugin marketplace add Sahib-Sawhney-WH/sahibs-claude-plugin-marketplace/plugin install dapr@sahib-claude-marketplaceStream and filter logs from DAPR applications and sidecars.
When the user runs /dapr:logs:
Detect Environment
Identify Applications
dapr listStream Logs
Local Development:
dapr logs --app-id {app-id}
Kubernetes:
# Application logs
kubectl logs deployment/{app} -c {app}
# Sidecar logs
kubectl logs deployment/{app} -c daprd
Azure Container Apps:
az containerapp logs show \
--name {app} \
--resource-group {rg} \
--follow
Filter and Format
$ARGUMENTS - App and filter options:
{app-id} - Application to view logs for--level {error|warn|info|debug} - Filter by level--since {time} - Logs since (e.g., "5m", "1h")--tail {n} - Last n lines--sidecar - Show sidecar logs instead--follow or -f - Stream live logs/dapr:logs order-service
/dapr:logs order-service --level error
/dapr:logs order-service --since 5m --follow
/dapr:logs order-service --sidecar
/dapr:logs --tail 100
DAPR Logs: order-service
==========================
[2024-01-15 10:23:45] INFO Starting application...
[2024-01-15 10:23:46] INFO DAPR sidecar connected on port 3500
[2024-01-15 10:23:46] INFO Components loaded: statestore, pubsub
[2024-01-15 10:23:47] INFO Listening on port 8000
[2024-01-15 10:24:01] DEBUG Processing order: ORD-123
[2024-01-15 10:24:02] INFO Order saved to state store
[2024-01-15 10:24:02] INFO Event published: order.created
[2024-01-15 10:25:15] WARN Retry attempt 1 for inventory service
[2024-01-15 10:25:16] ERROR Failed to invoke inventory-service: timeout
Press Ctrl+C to stop streaming
When viewing logs, automatically:
Detect Errors
Track Request Flow
Identify Patterns
ERROR DETECTED
==============
[10:25:16] ERROR Failed to invoke inventory-service: timeout
Possible Causes:
1. inventory-service is not running
2. Network connectivity issue
3. Service is overloaded
Suggested Actions:
- Check if inventory-service is running: dapr list
- Verify network connectivity
- Check inventory-service logs: /dapr:logs inventory-service
Related Logs:
[10:25:15] WARN Retry attempt 1 for inventory service
[10:25:15] WARN Retry attempt 2 for inventory service
# View app logs
dapr logs --app-id order-service
# View with level filter
dapr logs --app-id order-service --log-level warn
# App container logs
kubectl logs -l app=order-service -c order-service --tail=100 -f
# Sidecar logs
kubectl logs -l app=order-service -c daprd --tail=100 -f
# Combined
kubectl logs -l app=order-service --all-containers --tail=100 -f
# Stream logs
az containerapp logs show \
--name order-service \
--resource-group myapp-rg \
--follow
# Query logs (Log Analytics)
az monitor log-analytics query \
--workspace {workspace-id} \
--analytics-query "ContainerAppConsoleLogs | where ContainerAppName == 'order-service'"
When structured logging (JSON) is detected:
{"timestamp":"2024-01-15T10:24:01Z","level":"info","message":"Processing order","orderId":"ORD-123","traceId":"abc123"}
Format output:
[10:24:01] INFO Processing order
orderId: ORD-123
traceId: abc123
After viewing logs, offer: