Nuxt

Monitoring warstwy serwerowej Nuxt i Nitro

js
# .env — wartości skopiuj z panelu DockRay
NUXT_DOCKRAY_TOKEN=TWOJ_TOKEN_PROJEKTU
NUXT_DOCKRAY_PRIVATE_KEY=TWOJ_KLUCZ_PRYWATNY

// nuxt.config.ts — private runtimeConfig nie trafia do przeglądarki

export default defineNuxtConfig({
  runtimeConfig: {
    dockrayToken: '',
    dockrayPrivateKey: '',
  },
});

// server/utils/dockray.ts

export async function reportToDockRay(error: unknown, event?: H3Event) {
  const config = useRuntimeConfig(event);
  const value = error instanceof Error ? error.message : String(error);

  return $fetch(
    `https://dockray.io/api/v1/${config.dockrayToken}/project`,
    {
      method: 'POST',
      headers: { Authorization: `Bearer ${config.dockrayPrivateKey}` },
      body: { exception: { values: [{ type: 'Error', value }] } },
    },
  );
}
Integracja DockRay dla Nuxt obejmuje kod wykonywany przez Nitro: endpointy server/api, middleware serwerowe, renderowanie SSR oraz zadania uruchamiane poza żądaniem użytkownika. Zgłoszenia są wysyłane bezpośrednio do produkcyjnego REST API przez serwerowy helper, dlatego token projektu i klucz prywatny pozostają poza publicznym bundlem aplikacji. Rozwiązanie pozwala raportować wyjątki przechwycone przez kod aplikacji wraz z adresem i metodą żądania, zachowując standardowy mechanizm obsługi błędów Nuxt.