Backend Logging
The pointa dev command wraps your development server to capture backend console output during bug recording. When you record a bug in the Chrome extension, your server logs are automatically included in the timeline.
Overview
When investigating bugs, you often need both:
- Frontend: Console errors, network failures, user actions
- Backend: Server logs, API errors, database queries
The pointa dev command bridges this gap by injecting a lightweight log capture layer into your Node.js process and streaming output to Pointa.
Quick Start
Instead of running your dev server directly, wrap it with pointa dev:
# Before
npm run dev
# After
npx pointa-server dev npm run dev
That's it! When you record a bug with the Chrome extension, your server logs are automatically included.
How It Works
pointa devdetects your framework and injects a preload module viaNODE_OPTIONS- The preload module connects to the Pointa server via WebSocket
- When you start recording a bug in Chrome, the server is notified to begin capturing
- All console output is captured and streamed in real-time
- When you stop recording, backend logs are included in the bug report
- AI receives both frontend and backend context
What Gets Captured
| Console Method | Captured |
|---|---|
console.log() |
Yes |
console.info() |
Yes |
console.warn() |
Yes |
console.error() |
Yes |
console.debug() |
Yes |
| Uncaught exceptions | Yes |
| Unhandled rejections | Yes |
All captured logs include:
- Timestamp
- Log level
- Message content
- Stack traces (for errors)
Framework Auto-Detection
pointa dev automatically detects your framework from the command and sets the correct default port:
| Framework | Default Port |
|---|---|
| Next.js | 3000 |
| Nuxt | 3000 |
| Vite | 5173 |
| Remix | 3000 |
| Astro | 4321 |
| NestJS | 3000 |
| Express | 3000 |
| Fastify | 3000 |
| Gatsby | 8000 |
| SvelteKit | 5173 |
If your app uses a custom port via the PORT environment variable, that takes priority.
Usage Examples
npm / yarn / pnpm
npx pointa-server dev npm run dev
npx pointa-server dev yarn dev
npx pointa-server dev pnpm dev
Direct Node.js
npx pointa-server dev node server.js
npx pointa-server dev npx vite
npx pointa-server dev npx next dev
Custom Pointa Server Port
If your Pointa server runs on a non-default port:
npx pointa-server dev -p 4243 npm run dev
Privacy & Security
Local Only
- All logs stay on your machine
- Nothing is sent to external servers
- Communication is localhost only (WebSocket to
127.0.0.1)
Recording Sessions Only
- Logs are only captured during active bug recording
- Normal development is unaffected
- No performance impact when not recording
No Sensitive Data Storage
- Logs exist only in the bug report
- Old reports can be deleted
- You control what gets logged
Requirements
- Node.js 18+
- Pointa Chrome extension installed
- Pointa server running (start with
npx pointa-server start)
Troubleshooting
Logs not appearing in bug reports
- Make sure you're running your server via
pointa dev:npx pointa-server dev npm run dev - Check that the Pointa server is running:
npx pointa-server status - Ensure the Pointa server is started before running
pointa dev
Connection errors
The preload module gracefully handles connection issues:
- If the Pointa server isn't running, it retries with exponential backoff (up to 10 attempts)
- Your server continues working normally regardless
- Logs are captured once connection is established
Non-Node.js servers
For non-Node.js commands, pointa dev falls back to stdout/stderr capture only (no console method interception). This still provides useful output but without structured log levels.
Using in Bug Reports
When you record a bug:
- Start recording in the Chrome extension
- Reproduce the bug (make API calls, trigger errors)
- Stop recording
The bug report timeline shows:
- Frontend events (console, network, clicks)
- Backend events (marked with
[Backend])
Example timeline:
00:01 [Frontend] Click: Submit button
00:01 [Network] POST /api/submit
00:01 [Backend] Processing form submission
00:02 [Backend Error] Database connection failed
00:02 [Network] POST /api/submit → 500
00:02 [Frontend Error] Submit failed: Internal error
AI sees this complete picture and can identify that the database connection caused the issue.