Logs
Ingest structured log events with @mydle/logs, search what was stored, and export within your plan retention. Quiet explorers mean no sources have sent data — not invented volume.
What you get#
Log management is push-based. Create a source (or use a project API key), send events to POST /api/logs/v1/ingest, then investigate in /app/logs. Only accepted, persisted rows appear in search, live tail, and export.
Ingest & SDK#
Server-side SDK: createMydleLogger from @mydle/logs. Levels: trace, debug, info, warn, error, fatal, plus log, flush, and close. Default ingest path: /api/logs/v1/ingest on the product host (SDK uses an absolute product URL by default).
Authenticate with a source token (lt_…) or project secret key (sk_live_…). Never ship tokens in browser bundles.
Search & export#
Product search: GET /api/app/logs/search (session). Live tail follows newly stored rows. Export: GET /app/logs/export (session auth), clamped to plan retention.
Plans#
- Free — 50 MiB / month ingest, 1-day retention.
- Pro — 1 GiB / month ingest, 7-day retention. +1 GiB add-ons are available.
Subscriptions bought before the current package keep their original volume and retention until cancelled.
Storage#
Log entries are stored in Postgres today. Do not assume ClickHouse (or any secondary store) for customer logs.
Limitations
- Ingest stops for the rest of the month once the allowance is used; stored entries stay searchable.
- Empty until an ingest source sends accepted events.
- Correlation with traces uses stored IDs only — never timestamp joins. See Correlation.