Laravel 错误处理


大多数 Web 应用程序都有特定的错误处理机制,这些机制负责跟踪错误和异常,并记录它们以分析性能。在本章中,你将了解 Laravel 应用程序中的错误处理。

要点


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

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

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

Error Log

  • 默认情况下,debug模式设置为false,你可以把它改成true,这使用户能够通过堆栈跟踪来跟踪所有错误;

App Debug

  • Laravel项目的配置包括debug选项,它决定了有多少关于错误的信息会显示给用户。默认情况下,在Web应用程序中,该选项被设置为.env文件中定义的值。

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

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

错误日志


记录网络应用程序中的错误有助于跟踪它们,并制定消除它们的策略。日志信息可以在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 messages,你可以按照以下命令设置严重级别:

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