Logs en Next.js con alertas, en 5 minutos
Los logs y los errores de tus rutas y tus server actions, los errores que truenan en el navegador de tus clientes, y el aviso cuando un pedido no termina. En Vercel o en tu servidor.
- 1
Instala
npm i @estiaje/sdk - 2
Tu llave
Crea tu cuenta y pon la llave en
ESTIAJE_TOKEN. O pídele a tu IA «conecta este repo a Estiaje» (el conector). Sin la llave no sale nada por la red: puedes instrumentar hoy. - 3
Tus logs y tus errores, al arrancar (instrumentation.ts)
● Por probar// lib/estiaje.ts import { estiajeFromEnv } from '@estiaje/sdk'; export const estiaje = estiajeFromEnv({ service: 'tienda-web' }); // instrumentation.ts export async function register() { if (process.env.NEXT_RUNTIME === 'nodejs') { const { estiaje } = await import('./lib/estiaje'); estiaje.capturarConsola(); estiaje.capturarErrores(); } }// server.ts (next con servidor propio) import { estiaje } from './lib/estiaje'; estiaje.capturarConsola(); estiaje.capturarErrores(); createServer((req, res) => estiaje.middleware()(req, res, () => handle(req, res)) // el hilo de cada petición ).listen(3000);<!-- app/layout.tsx, antes de </head>; la llave cp_live_ se crea en Errores --> <script src="https://estiaje.mx/navegador.js" data-llave="cp_live_…" data-servicio="tienda-web" async></script> - 4
El proceso que debe terminar
// app/api/pedidos/route.ts import { estiaje } from '@/lib/estiaje'; export async function POST(req: Request) { // … cobras el pedido … estiaje.event('pedido.pagado', { order_id, monto }); await estiaje.flush(); // en Vercel, antes de responder: la función se congela return Response.json({ ok: true }); } - 5
El aviso
En el panel, en Procesos: «todo
pedido.pagadoespera supedido.surtido, pororder_id, en 30 minutos». Si no llega, te avisa al teléfono, por correo o en Slack, con el dinero en riesgo.
Y si quieres más
- En Vercel, siempre
await estiaje.flush()antes de responder: una función que ya respondió se congela y lo que no salió se queda sin salir. - Los errores de tu sitio llegan con los pasos del visitante antes del error, y ligados al pedido con
estiaje.pedido('A-1042'). - Tus despliegues:
npx @estiaje/sdk desplegadoen tu CI o en el paso de build de Vercel.
Todo lo demás está en la documentación completa.
La guía larga: Logs en Next.js en producción: dónde quedan y cómo no perder los errores
Crear cuenta, 14 días de Pro
Sin tarjeta. En pesos.