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,syslog** 和 **errorlog**。

  • 例如,如果您希望将错误消息记录到日志文件中,则应将应用配置中的日志值设置为 **daily**,如下面的命令所示:

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

‘log_max_files’ => 25;

严重级别

由于 Laravel 使用 monolog PHP 日志库,因此有各种参数用于分析严重级别。可用的各种严重级别包括 **error,critical,alert** 和 **emergency 消息**。您可以设置严重级别,如下面的命令所示:

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