Instalacja - Nuxt
Na tej stronie Wymagania
Zanim zaczniesz, utwórz projekt w panelu DockRay. W jego ustawieniach znajdziesz token projektu - publiczny identyfikator, który wchodzi do adresu endpointu - a w zakładce Klucze API wygenerujesz klucz prywatny. Klucz jest pokazywany tylko raz, w momencie generowania: w bazie DockRay leży wyłącznie jego skrót. Jeżeli nie masz jeszcze projektu, zacznij od zakładania konta i pierwszego projektu.
Wymagania
- Nuxt 3 lub 4,
- Node.js 18 lub nowszy,
- npm.
Instalacja modułu
npm install @dockcodes/dock-ray-nuxt
Rejestracja i poświadczenia
W nuxt.config.ts:
export default defineNuxtConfig({
modules: ['@dockcodes/dock-ray-nuxt'],
ray: {
tracesSampleRate: 0.2,
browser: { enabled: false },
},
});
W zmiennych środowiskowych:
NUXT_RAY_TOKEN=token-projektu
NUXT_RAY_PRIVATE_KEY=klucz-prywatny-projektu
Nuxt sam mapuje zmienne NUXT_RAY_* na runtimeConfig.ray - to jego własna, wbudowana konwencja, dzięki której poświadczenia zostają poza nuxt.config.ts i poza gitem. Moduł trzyma je wyłącznie w prywatnej części konfiguracji runtime: wszystko pod runtimeConfig.public trafia do paczki klienta, a klucz projektu tam byłby kluczem opublikowanym. Bez tokenu i klucza moduł się ładuje i nic nie wysyła.
Co rejestruje moduł
Samo dodanie modułu do modules wystarcza do raportowania błędów serwera i transakcji - moduł sam wpina wtyczkę Nitro przy starcie aplikacji, bez żadnego dodatkowego pliku po Twojej stronie. Zbieranie błędów Vue i JavaScriptu z przeglądarki jest osobnym, świadomym włączeniem (browser.enabled) opisanym w konfiguracji - domyślnie moduł zajmuje się wyłącznie tym, co dzieje się po stronie serwera.
Pierwszy test
Dodaj tymczasową trasę serwerową, na przykład server/api/ray-test.ts:
export default defineEventHandler(() => {
throw createError({ statusCode: 500, statusMessage: 'Kontrolny błąd DockRay' });
});
Wejdź na nią raz i usuń zaraz po udanym teście - to prawdziwy błąd 500, więc kolejne wywołania zużywają miesięczny limit. Wpis powinien pojawić się w panelu w sekcji Błędy projektu wskazanego przez token.