Next.js

Monitoring aplikacji Next.js po stronie serwera

js
# .env.production — wartości skopiuj z panelu DockRay
DOCKRAY_TOKEN=TWOJ_TOKEN_PROJEKTU
DOCKRAY_PRIVATE_KEY=TWOJ_KLUCZ_PRYWATNY

// lib/dockray.ts — plik używany wyłącznie po stronie serwera

export async function reportToDockRay(error: unknown, request?: Request) {
  const value = error instanceof Error ? error.message : String(error);

  await fetch(
    `https://dockray.io/api/v1/${process.env.DOCKRAY_TOKEN}/project`,
    {
      method: 'POST',
      headers: {
        Authorization: `Bearer ${process.env.DOCKRAY_PRIVATE_KEY}`,
        'Content-Type': 'application/json',
      },
      body: JSON.stringify({
        exception: { values: [{ type: 'Error', value }] },
        request: request ? { url: request.url, method: request.method } : {},
        sdk: { name: 'dockray.nextjs', version: '1.0' },
      }),
    },
  );
}
Integracja dla Next.js raportuje błędy z Route Handlers, Server Actions, komponentów serwerowych i pozostałego kodu wykonywanego w środowisku Node.js. Wykorzystuje produkcyjne REST API DockRay, dlatego nie wymaga dodatkowego adaptera ani udostępniania klucza prywatnego w przeglądarce. Poświadczenia są przechowywane wyłącznie w zmiennych środowiskowych serwera, a wspólna funkcja raportująca może zostać użyta w globalnej obsłudze błędów oraz w miejscach, w których wyjątek jest przechwytywany przed zwróceniem odpowiedzi.