Monitoring & Error Logging
LaunchKit Pro includes a local monitoring foundation — no paid error-tracking service (Sentry, Datadog, New Relic, Grafana, etc.) required.
What it does
- In-memory ring buffers for recent HTTP requests and errors
- Admin dashboard at
/admin/monitoringwith KPI cards, charts, and tables - Summary metrics: success rate, status code mix, top routes, request timeline
- Runtime status: uptime, memory, Node version, app version
- Server logs retain full stack traces; API/UI responses never expose secrets
Environment variables
MONITORING_ENABLED=true
LOG_LEVEL=info
ERROR_LOGGING_ENABLED=true
ERROR_LOG_RETENTION_DAYS=14
REQUEST_LOGGING_ENABLED=true
REQUEST_LOG_SLOW_MS=1000
REQUEST_LOG_RING_BUFFER_SIZE=300
ERROR_LOG_RING_BUFFER_SIZE=200| Variable | Default | Description |
|---|---|---|
MONITORING_ENABLED | true | Master switch for monitoring store and admin APIs |
LOG_LEVEL | info | NestJS log level (debug, info, warn, error) |
ERROR_LOGGING_ENABLED | true | Capture safe error summaries into the buffer |
ERROR_LOG_RETENTION_DAYS | 14 | Documented retention hint (in-memory ring buffer is primary) |
REQUEST_LOGGING_ENABLED | true | Capture safe request metadata into the buffer |
REQUEST_LOG_SLOW_MS | 1000 | Mark requests at or above this duration as slow |
REQUEST_LOG_RING_BUFFER_SIZE | 300 | Max recent requests kept in memory |
ERROR_LOG_RING_BUFFER_SIZE | 200 | Max recent errors kept in memory |
Set MONITORING_ENABLED=false to disable admin monitoring APIs and the in-memory store.
Admin API
| Endpoint | Description |
|---|---|
GET /admin/monitoring/status | Service health, uptime, memory, logging flags |
GET /admin/monitoring/summary | Aggregated metrics, timeline, top routes |
GET /admin/monitoring/errors | Recent safe error summaries |
GET /admin/monitoring/requests | Recent buffered HTTP requests |
POST /admin/monitoring/clear | Clear in-memory buffer (admin only; blocked for demo read-only) |
All routes require platform admin access.
Admin UI
Open Admin → Monitoring (/admin/monitoring):
- KPI cards — API status, success rate, requests, errors, slow requests, latency, uptime, memory
- Charts — request timeline, status code mix, top routes, latency overview
- Tables — recent errors and requests with filters (All, Errors, Slow, 4xx, 5xx)
- Refresh — manual refresh with spinner; optional auto-refresh every 30 seconds
- Clear buffer — confirmation required; disabled for read-only demo admin
Admin Overview includes an Open Monitoring shortcut with live success rate and error count when available.
What is tracked (safe metadata)
- HTTP method, path (query string stripped), status code, duration
- Timestamp, request ID, user ID, workspace ID (when available)
- Error message and error name (friendly text for 5xx)
What is never stored or returned
- Request bodies
- Authorization headers, cookies, tokens
- API keys, license keys, webhook secrets, env values
- Full stack traces in admin API responses (stacks remain in server logs only)
Server logs
For deep debugging, use your process manager or container logs (pm2 logs, journalctl, Docker logs). The monitoring dashboard complements — but does not replace — server-side logging.
Demo mode
- Demo admins can view all monitoring pages and APIs
- Clear buffer is blocked with: “Demo admin is read-only.”
Upgrading later
The in-memory store is intentionally lightweight. Buyers can add Sentry, Datadog, or similar by extending MonitoringStoreService without changing admin UI contracts.