Laravel - обработка ошибок

Большинство веб-приложений имеют особые механизмы обработки ошибок. Используя их, они отслеживают ошибки и исключения и регистрируют их для анализа производительности. В этой главе вы прочитаете об обработке ошибок в приложениях Laravel.

Важные точки

Прежде чем перейти к подробному изучению обработки ошибок в Laravel, обратите внимание на следующие важные моменты:

  • Для любого нового проекта Laravel регистрирует ошибки и исключения в App\Exceptions\Handlerкласс по умолчанию. Затем они отправляются обратно пользователю для анализа.

  • Когда ваше приложение Laravel находится в режиме отладки, подробные сообщения об ошибках с трассировкой стека будут отображаться при каждой ошибке, возникающей в вашем веб-приложении.

  • По умолчанию режим отладки установлен на false и вы можете изменить его на true. Это позволяет пользователю отслеживать все ошибки с помощью трассировки стека.

  • Конфигурация проекта Laravel включает debugпараметр, который определяет, какой объем информации об ошибке должен отображаться пользователю. По умолчанию в веб-приложении для параметра установлено значение, определенное в переменных среды.env файл.

    • Значение установлено на true в локальной среде разработки и настроен на false в производственной среде.

    • Если установлено значение true в производственной среде риск передачи конфиденциальной информации конечным пользователям выше.

Журнал ошибок

Регистрация ошибок в веб-приложении помогает отслеживать их и планировать стратегию их устранения. Информацию журнала можно настроить в веб-приложении вconfig/app.phpфайл. Обратите внимание на следующие моменты при работе с журналом ошибок в Laravel:

  • Laravel использует библиотеку ведения журналов PHP monolog.

  • Параметры регистрации, используемые для отслеживания ошибок: single, daily, syslog и errorlog.

  • Например, если вы хотите регистрировать сообщения об ошибках в файлах журнала, вы должны установить значение журнала в конфигурации вашего приложения на daily как показано в команде ниже -

'log' => env('APP_LOG',’daily’),
  • Если daily В качестве параметра принимается режим журнала, Laravel ведет журнал ошибок на период 5 days, по умолчанию. Если вы хотите изменить максимальное количество файлов журнала, вы должны установить параметрlog_max_files в файле конфигурации на желаемое значение.

‘log_max_files’ => 25;

Уровни серьезности

Поскольку Laravel использует библиотеку ведения журналов PHP monolog, для анализа уровней серьезности используются различные параметры. Доступны различные уровни серьезности:error, critical, alert и emergency messages. Вы можете установить уровень серьезности, как показано в команде ниже -

'log_level' => env('APP_LOG_LEVEL', 'error')