Skip to main content
This procedure takes a workspace from no logger to a verified grouped issue. Payload details and limits live in App Logs.

Generate the project key

Open Settings → API Key, select Generate Key, and copy the raw value once.

Framework/package/environment matrix

Current initialization snippets

The generator names app/layout.tsx, but that file is a Server Component by default. Put initialization in a Client Component so browser global handlers, navigation breadcrumbs, and client request capture are installed, then render it from the layout.

Automatic versus manual capture

User context

Runtime wrappers

Next.js provides Aiola.wrapRouteHandler, Node provides Aiola.wrap, Python provides @aiola.wrap, and Edge uses Aiola.wrapDenoServe. Each captures and rethrows/flushes according to its runtime.

Raw HTTP/no-SDK integration

Endpoint/auth/payload schema

Use POST https://aiola.app/api/app-logs-ingest; x-aiola-key is preferred and Bearer is accepted. message or exception is required. See the complete payload.

Limits and redaction

Confirm truncation, rate limits, and stripped headers in App Logs. Request text longer than 512,000 characters is rejected with 413.

Environment and release naming

Use stable environment names such as production, staging, and development. Send the exact deployed release identifier consistently in release.

Source-map upload/release matching

Upload maps in Settings → App Logs → Source Maps under the exact event release. Trigger a minified error and confirm its frame shows original source.

Setup Health and SDK upgrades

Run Setup Health. Resolve logger-outdated and logger-legacy-endpoint findings; use Update logger when offered for @aiolaapp/logger.

Verification and troubleshooting

1

Send a test failure

Capture an exception with environment, release, and user context.
2

Verify the workspace

Open App Logs, inspect stack, breadcrumbs, request/user contexts, and repeat the event to confirm grouping.
3

Verify Central

Open Central → App Logs and confirm the issue retains its project name.
4

Check failures

401 means the key is missing/invalid; 403 means logs are disabled; 400 means invalid JSON or no message/exception; 429 means the project rate limit.