Weryfikacja i typowe problemy - Drupal
Na tej stronie Zdarzenie testowe
- Zdarzenie testowe
- Weryfikacja przez dziennik
- Typowe problemy
- Zdarzenie testowe działa, ale prawdziwe błędy nie docierają
- Wpisałem token w formularzu, a moduł używa innego
- Pola tokenu i klucza są zablokowane
- Brakuje transakcji
- Błędy JavaScriptu nie docierają
- Cache konfiguracji po zmianie settings.php
- Panel odpowiada 200, ale zdarzenia nie ma
- Nadal nie działa
Zdarzenie testowe
Na formularzu /admin/config/development/dock-ray kliknij Wyślij zdarzenie testowe. Wynik i jego data zostają w obszarze statusu, a samo zdarzenie powinno pojawić się w panelu w sekcji Błędy projektu wskazanego przez token.
Weryfikacja przez dziennik
Ponieważ moduł działa jako kanał loggera, prawdziwym testem jest zwykły wpis w dzienniku o wadze co najmniej tej, którą ustawiłeś:
drush php:eval "\Drupal::logger('dock_ray_test')->error('Kontrolny wpis DockRay');"
Wpis powinien trafić do DockRaya jako komunikat. Jeżeli nie dociera, a zdarzenie testowe z formularza działa, problem jest w poziomie logowania, nie w połączeniu.
Typowe problemy
Zdarzenie testowe działa, ale prawdziwe błędy nie docierają
Sprawdź minimum_level. Przy wartości 3 (Error) ostrzeżenia i notice'y są celowo pomijane. Sprawdź też, czy błąd trafia w ogóle do dziennika Drupala - moduł raportuje to, co widzi logger, a nie to, co dzieje się obok niego.
Wpisałem token w formularzu, a moduł używa innego
W settings.php stoi $settings['dock_ray'], a źródło konfiguracji jest ustawione na Auto - wtedy klucz z pliku wygrywa dla swojego pola. Obszar statusu pokazuje wartość, która naprawdę obowiązuje, i mówi, skąd pochodzi.
Pola tokenu i klucza są zablokowane
To znaczy, że wartość pochodzi z settings.php. Zapisanie formularza w tym stanie niczego nie kasuje - Form API przekazuje wartość domyślną zablokowanego pola razem z resztą. Żeby wpisywać je w interfejsie, przestaw źródło na Tylko ten formularz.
Brakuje transakcji
Transakcje powstają tylko przy traces_sample_rate większym od zera i zamykają się na kernel.terminate. Żądanie zakończone przed tym etapem - na przykład przerwane przez exit albo obsłużone przez warstwę cache'u stron - nie zostawi transakcji.
Błędy JavaScriptu nie docierają
Kolektor jest domyślnie wyłączony i celowo nie wchodzi na strony administracyjne. Jeżeli po włączeniu nadal nic nie przychodzi, sprawdź, czy /dock-ray/collector.js oddaje plik - w instalacji z agresywnym cache'em albo z nietypowym docrootem bywa to pierwszą przyczyną. Pamiętaj też o limicie 20 zgłoszeń na adres IP na godzinę i o tym, że odbiornik odpowiada 202 także przy odrzuceniu.
Cache konfiguracji po zmianie settings.php
Po edycji settings.php wyczyść cache (drush cr). Formularz czyta nadpisania przy budowaniu, więc do przebudowania kontenera obszar statusu może pokazywać poprzedni stan.
Panel odpowiada 200, ale zdarzenia nie ma
Odpowiedź 200 {"success": false} znaczy, że konto wyczerpało miesięczny limit błędów. Integracja nie traktuje tego jak awarii - i słusznie. Limit widzisz na pulpicie konta; do końca miesiąca liczy się z zapisanego zużycia, więc nie zresetuje go usunięcie błędów.
Nadal nie działa
Przejdź przez listę kontrolną braku danych w panelu, a jeśli to nie pomoże - napisz do nas. Podaj nazwę projektu, wersję integracji i przybliżoną godzinę testu: to skraca drogę do odpowiedzi.