Hey everyone,
I’m running into a strange and critical issue with Vercel’s logging system for one of my API routes, and I’m hoping someone here has seen this before or can point me in the right direction. My dynamic API route: receives POST events from Square (production), executes successfully, returns a 200 status, and even makes outgoing GET requests to Square’s API.
However:
None of my console.log statements appear anywhere.
Not in:
• The request-level logs (“No logs found for this request”)
• The global Logs tab (when filtering by route)
• Any other log view in Vercel
The function clearly runs because:
• Square receives a 200 response
• My code executes follow-up logic
• I can see outgoing GET requests to connect.squareup.com inside the request panel
• No errors occur — it’s functioning, but silently.
receives POST events from Square (production), executes successfully, returns a 200 status, and even makes outgoing GET requests to Square’s API.
However:
None of my console.log statements appear anywhere.
Not in:
• The request-level logs (“No logs found for this request”)
• The global Logs tab (when filtering by route)
• Any other log view in Vercel
The function clearly runs because:
• Square receives a 200 response
• My code executes follow-up logic
• I can see outgoing GET requests to connect.squareup.com inside the request panel
• No errors occur — it’s functioning, but silently.
export const runtime = “nodejs”;
export const dynamic = “force-dynamic”;No edge runtime — I know edge suppresses some logs.
2. All async operations are awaited
No fire-and-forget patterns. The flow inside the handler is:
• Read body
• Verify HMAC signature
• await Square API call (ordersApi.retrieveOrder)
• await parse/extract logic
• await queue updates
• Finally return Response.json(…)
Everything finishes before the return — no background tasks.
3. Production Square API calls are visible
Vercel shows the API call:GET connect.squareup.com/v2/orders/… So the function is executing through all steps.
4. Logs used to work before
This issue only started recently. I did not change logging config.
5. General Logs tab shows nothing
Filtering by:
• Route → /api/square-webhook
• Source → Functions
• Timeline → last 30 minutes
results in zero logs, even when I know multiple requests hit the route.
Current Behavior:
My API Route /api/square-webhook successfully receives POST requests from Square (production), executes all logic, returns 200, and makes outgoing GET calls to Square’s Orders API — but Vercel shows zero logs.
In the Request view and the Global Logs tab, I always see:
“No logs found for this request”
All console.log calls inside this function completely disappear.
Expected Behavior:
All logs inside this dynamic Node.js API route should appear either under the specific request or in the global Logs panel.
- Route configuration (app/api/square-webhook/route.ts): export const runtime = “nodejs”;
export const dynamic = “force-dynamic”;2) Handler behavior:
• Verifies HMAC signature
• Awaits square.ordersApi.retrieveOrder(orderId)
• Extracts data and updates queue (Upstash Redis)
• Returns JSON response
All async operations are awaited — nothing runs in the background. - Logging placed inside the handler: console.log(“>>> SQ WEBHOOK START <<<”);
console.log(“>>> RAW BODY:”, rawBodyString);
console.log(“>>> ORDER ID:”, orderId);
console.log(“>>> RETRIEVED ORDER:”, order); None of these logs appear. - Reproduction Steps:
• Use Square POS in production → creates a customer or order
• Square sends POST webhook to /api/square-webhook
• Vercel UI shows:
• Request reached backend ✓
• Function executed ✓
• External GET call made to Square ✓
• Response sent ✓
• No logs attached ✗
• No logs in global Logs tab ✗
Screenshot of the exact issue:
(Uploaded image reference)
/mnt/data/Screenshot 2025-11-24 at 8.10.34 PM.png
Project Information
• Framework: Next.js 16 (App Router, Turbopack)
• Runtime: Node.js (not Edge)
• Deployment: Production
• Domain: app.doylestown-carwash.com
• Project: car-wash-system
• Route type: Dynamic API route
• External APIs: Square production (connect.squareup.com)
• Hosting environment: Vercel USA-East (iad1)
• Logs used to appear normally until recently.
• The function clearly runs (I see outgoing requests + expected app behavior).
• Only the logs are missing.
• This affects debugging significantly, because we need to verify license plate extraction from Square order notes.
⸻
If any team member needs it, I can also provide:
• request IDs
• reproduction timestamps
• a minimal reproduction repo
Thanks!