Logs & errors
What the software inside GoClaw CRM has been doing — and where it struggled.
Event stream
Newest first. Messages are redacted at write time — secrets never appear here.
| Time | Source | Severity | Message |
|---|---|---|---|
| 14:22:08 | Runtime | Error | Invoice PDF worker failed: object reference not set. Job re-queued. ref 8c2e-41 |
| 14:05:51 | Webhook | Error | Delivery to customer endpoint returned 500. Retry 3 of 5 at 14:40. |
| 13:48:19 | Connection | Warn | QuickBooks connection timed out after 30s. Automatic retry succeeded on attempt 2. |
| 13:30:02 | Webhook | Warn | Delivery slow (8.4s) to endpoint hooks.example.com. |
| 12:02:31 | Provisioning | Info | Container image updated to bwhq/crm-pro:3.4.1. |
| 09:14:44 | Runtime | Info | Nightly maintenance completed in 42s. |
When something inside your product misbehaves — a background job crashes, an outside service stops answering, a webhook can’t be delivered — this is where you see it, in plain language, with a retry button where retrying can help.
This page is machine behavior; the Audit Log is people behavior (who did what). Messages are scrubbed before they’re ever written, so credentials and secrets can’t leak here even by accident.
Behind this page/apps/:saasAppId/logs · CanDeploy
Retrieve
Control-plane provisioning and operation failures use stable keyset pagination. Runtime events are read through the app route and CustomerLogDatabaseBridge; the server validates builder ownership before crossing into the dedicated logging database. Do not issue cross-database names from browser input.
Save
Read-only stream; “Retry now” queues the delivery worker for retry-eligible failures only.Success
- Append-only runtime log writes.
- Secrets and provider payloads redacted before persistence.
- Correlation and journey/request IDs link provisioning, runtime, audit, and support.
- Pagination is stable under concurrent inserts.
CLI handoff
Implement this scaffold from the structured contract, then remove hard-coded preview rows. The source of truth is CLI Handoff and admin-cli-manifest.json.
Server-inject identity and scope values; never trust browser-supplied account, app, tenant, user, entitlement, price, or permission identifiers. Preserve the loading, empty, forbidden, failed, retrying, and completed states shown by the preview.