Konfiguracja - Laravel

3 min czytania Aktualizacja: 11.09.2026

Na tej stronie Gdzie jest konfiguracja
  1. Gdzie jest konfiguracja
  2. Środowiska
  3. Co wykluczyć z raportowania
  4. Nazwy transakcji
  5. Kontekst użytkownika
  6. Ręczne raportowanie
  7. Kolejki i komendy Artisan
  8. Ochrona klucza prywatnego

Gdzie jest konfiguracja

Wszystko siedzi w config/ray.php, a każda wartość ma odpowiednik w .env.

KluczDomyślnieZnaczenie
token, private_key-poświadczenia projektu; bez obu paczka milczy
urlhttps://dockray.ioinstancja DockRay
environmentAPP_ENVkolumna środowiska w panelu
releasenullwersja wdrożonej aplikacji
sample_rate1udział wysyłanych zdarzeń błędów
traces_sample_rate0udział wysyłanych transakcji; 0 wyłącza pomiar
send_default_usertruedołącza identyfikator, e-mail i nazwę zalogowanego użytkownika
send_default_piifalsedołącza adres IP i user agenta
ignore_exceptions[]klasy wyjątków nigdy nieraportowane
ignore_transactionshorizon*, telescope*, _debugbar*ścieżki pomijane w pomiarze, wzorce jak w Request::is()
options.max_request_body_sizemediumnone, small, medium albo always
options.attach_stacktracefalsestos także przy zwykłych komunikatach

Środowiska

Każde środowisko powinno raportować pod jednoznaczną nazwą - production, staging, preview. Nazwa jest kolumną w panelu i filtrem na liście błędów, więc bez niej awaria z produkcji wygląda dokładnie tak samo jak błąd wywołany w testach. Środowisko lokalne zostaw bez poświadczeń: bez tokenu i klucza integracja ładuje się i milczy, więc nie musisz jej wyłączać osobnym warunkiem.

Co wykluczyć z raportowania

ignore_exceptions działa ponad własną listą dontReport Laravela, więc ValidationException, AuthenticationException i HttpException są pominięte bez żadnej konfiguracji. Dopisz tu wyjątki, które w Twojej aplikacji są normalnym wynikiem, a nie awarią:

php
'ignore_exceptions' => [
    \App\Exceptions\PaymentDeclinedException::class,
    \Illuminate\Session\TokenMismatchException::class,
],

Zasada jest jedna: do DockRaya trafia to, na co ktoś ma zareagować. Oczekiwana odmowa płatności albo wygasły token formularza mieszczą się w normalnym działaniu i tylko zużywają miesięczny limit.

Nazwy transakcji

Transakcje są nazywane po wzorcu trasy - GET /orders/{order}, a nie GET /orders/8123. Dzięki temu jedna trasa zostaje jednym wierszem w panelu, niezależnie od tego, ile identyfikatorów przez nią przeszło. Jeśli widzisz tysiące osobnych transakcji, prawie zawsze znaczy to, że trasa jest zdefiniowana bez parametru.

Kontekst użytkownika

Middleware dołącza identyfikator, adres e-mail i nazwę zalogowanego użytkownika. Wyłączasz to przez RAY_SEND_DEFAULT_USER=false albo podmieniasz na własny zestaw pól:

php
Ray::setUser(['id' => $account->id, 'username' => $account->slug]);

Adres IP i user agent są dołączane tylko przy RAY_SEND_DEFAULT_PII=true. To osobna decyzja od tożsamości użytkownika, bo dotyczy także gości.

Ręczne raportowanie

php
use Dock\Ray\Laravel\Ray;
use Dock\Ray\Severity;

Ray::message('Nocny import skończył się po czasie', Severity::warning());

Kolejki i komendy Artisan

Jedno i drugie działa poza stosem middleware HTTP, więc raportuje błędy, ale nie tworzy transakcji. Hub jest singletonem na cały proces: długo żyjący worker kolejki trzyma jednego klienta i jedno połączenie, a nie buduje go przy każdym zadaniu.

Ochrona klucza prywatnego

Klucz prywatny jest sekretem projektu, a nie identyfikatorem. Trzymaj go w zmiennych środowiskowych, w menedżerze sekretów albo w konfiguracji serwera - nigdy w repozytorium, w logach, na zrzucie ekranu ani w kodzie wysyłanym do przeglądarki. Jeden projekt może mieć wiele kluczy, więc produkcja i środowisko testowe powinny dostać osobne: każdy odwołuje się niezależnie, bez przerywania raportowania z pozostałych. Podejrzenie ujawnienia klucza jest wystarczającym powodem, aby go odwołać i wygenerować nowy.

Czytaj dalej

Newsletter DockRay

Bezpieczeństwo aplikacji w Twojej skrzynce

Najważniejsze podatności, konkretne zalecenia i praktyczne wskazówki dla Twoich aplikacji. Wybierz technologie i śledź to, co ma znaczenie dla Twojego projektu.

  • Codzienne zestawienie nowych podatności, także krytycznych.
  • Powiadomienia o ważnych aktualizacjach.
  • Praktyczne porady o bezpieczeństwie i monitoringu aplikacji.

Pozostaw puste, aby otrzymywać informacje o wszystkich technologiach.

Zapis jest bezpłatny. Wypiszesz się jednym kliknięciem w wiadomości.