Laravel - 错误处理

大多数 Web 应用程序都有特定的错误处理机制。它们使用这些机制来跟踪错误和异常,并记录它们以分析性能。在本章中,您将阅读有关 Laravel 应用程序中的错误处理的内容。

要点

在进一步详细了解 Laravel 中的错误处理之前,请注意以下要点 −

  • 对于任何新项目,Laravel 默认在 App\Exceptions\Handler 类中记录错误和异常。然后将它们提交回给用户进行分析。

  • 当您的 Laravel 应用程序设置为调试模式时,Web 应用程序中发生的每个错误都会显示带有堆栈跟踪的详细错误消息。

Error Log
  • 默认情况下,调试模式设置为 false,您可以将其更改为 true。这使用户能够使用堆栈跟踪跟踪所有错误。

App Debug
  • Laravel 项目的配置包括 debug 选项,该选项决定要向用户显示多少有关错误的信息。在 Web 应用程序中,默认情况下,该选项设置为 .env 文件的环境变量中定义的值。

    • 在本地开发环境中,该值设置为 true,在生产环境中,该值设置为 false

    • 如果在生产环境中将该值设置为 true,则与最终用户共享敏感信息的风险更高。

错误日志

在 Web 应用程序中记录错误有助于跟踪错误并制定消除错误的策略。可以在 Web 应用程序中的 config/app.php 文件中配置日志信息。在 Laravel 中处理错误日志时请注意以下几点 −

  • Laravel 使用 monolog PHP 日志库。

  • 用于错误跟踪的日志参数是 single、daily、syslogerrorlog

  • 例如,如果您希望将错误消息记录在日志文件中,则应将应用程序配置中的日志值设置为 daily,如以下命令所示 −

'log' => env('APP_LOG','daily'),
  • 如果将 daily 日志模式作为参数,则 Laravel 默认会记录 5 天 的错误日志。如果您希望更改日志文件的最大数量,则必须将配置文件中的 log_max_files 参数设置为所需值。

'log_max_files' => 25;

严重性级别

由于 Laravel 使用 monolog PHP 日志库,因此有各种参数用于分析严重性级别。可用的各种严重性级别包括 error、critical、alertemergency messages。您可以按照以下命令设置严重性级别 −

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