Remote Logs
The Logs page lets you view logs sent from your game in real-time. Filter by level, player, or message content to debug production issues without asking players for log files.
Log Level Configuration
Section titled “Log Level Configuration”The Min Level dropdown in the top-right controls which logs are accepted by the backend:
| Setting | Accepted Logs | Use Case |
|---|---|---|
| Debug (all logs) | debug, info, warning, error | Development / full diagnostics |
| Info+ | info, warning, error | Testing / moderate verbosity |
| Warning+ (default) | warning, error | Production recommended |
| Error only | error | Minimal logging, saves storage |
Logs below the configured level are rejected at the server and never stored. This saves bandwidth and storage. The SDK can also fetch this config on init via GET /v1/logs/config to filter client-side before sending.
Changing the level requires Admin or Owner role.
Stats Cards
Section titled “Stats Cards”The top bar shows log counts for the last 7 days:
- Total — All logs received
- Errors — Red badge, crashes and exceptions
- Warnings — Yellow badge, performance issues
- Info — Blue badge, player milestones
- Debug — Gray badge, verbose diagnostics
Filtering Logs
Section titled “Filtering Logs”| Filter | Description |
|---|---|
| Level Dropdown | Show only logs of a specific level |
| Player ID | Exact match on player identifier |
| Search | Full-text search on log message (powered by PostgreSQL tsvector) |
| Context Search | Filter by context fields in key:value or JSON format (e.g. scene:forest or {"scene":"forest"}) |
Press Enter or click Search to apply player, search, and context filters. The level dropdown applies immediately.
Export
Section titled “Export”Click the Export button to download the currently visible logs as CSV or JSON. The export uses the active filters, so filter first, then export.
Log Entries
Section titled “Log Entries”Each log entry shows:
- Timestamp — Relative time (e.g. “2m ago”)
- Level Badge — Color-coded: red (error), yellow (warning), blue (info), gray (debug)
- Message — Monospace text, full width
- Player ID — Shown on desktop, hidden on mobile
Click a log entry to expand it and see the full context JSON and session ID.
Pagination
Section titled “Pagination”Logs are displayed 50 per page. Use Previous/Next buttons to navigate. The total count is shown at the bottom.
API Reference
Section titled “API Reference”# Get log level configcurl "https://api.questdata.io/v1/logs/config" \ -H "x-game-api-key: YOUR_API_KEY"# Response: { "log_level": "warning" }
# Update log level (Admin+ required)curl -X PATCH "https://api.questdata.io/v1/games/GAME_ID/log-level" \ -H "Authorization: Bearer JWT" \ -H "Content-Type: application/json" \ -d '{"log_level": "info"}'
# Read logs with filterscurl "https://api.questdata.io/v1/logs?level=error&limit=20" \ -H "x-game-api-key: YOUR_API_KEY"See Remote Logging for full API reference and SDK integration.