错误处理(Error Handling)
大多数Web应用程序都有特定的错误处理机制。 使用这些,他们跟踪错误和异常,并记录它们以分析性能。 在本章中,您将了解Laravel应用程序中的错误处理。
重点
在继续进一步详细了解Laravel中的错误处理之前,请注意以下要点:
对于任何新项目,Laravel默认情况下会在App\Exceptions\Handler类中记录错误和异常。 然后将它们提交给用户进行分析。
当您的Laravel应用程序设置为调试模式时,Web应用程序中发生的每个错误都会显示带有堆栈跟踪的详细错误消息。
默认情况下,调试模式设置为false ,您可以将其更改为true 。 这使用户能够使用堆栈跟踪跟踪所有错误。
Laravel项目的配置包括debug选项,该选项确定将向用户显示有关错误的信息量。 默认情况下,在Web应用程序中,该选项设置为.env文件的环境变量中定义的值。
该值在本地开发环境中设置为false ,在生产环境中设置为false 。
如果在生产环境中将该值设置为true ,则与最终用户共享敏感信息的风险会更高。
错误日志
在Web应用程序中记录错误有助于跟踪它们并规划删除它们的策略。 可以在config/app.php文件中的Web应用程序中config/app.php日志信息。 在处理Laravel中的错误日志时请注意以下几点 -
Laravel使用monolog PHP日志库。
用于错误跟踪的日志记录参数是single, daily, syslog和errorlog 。
例如,如果您希望在日志文件中记录错误消息,则应将应用程序配置中的日志值设置为daily ,如下面的命令所示 -
'log' => env('APP_LOG',’daily’),
如果将daily日志模式作为参数,则默认情况下,Laravel会将错误日志记录为5 days 。 如果要更改最大日志文件数,则必须将配置文件中的log_max_files参数设置为所需的值。
‘log_max_files’ => 25;
严重程度
由于Laravel使用monolog PHP日志库,因此有各种参数用于分析严重性级别。 可用的各种严重性级别包括error, critical, alert和emergency messages 。 您可以设置严重性级别,如下面的命令所示 -
'log_level' => env('APP_LOG_LEVEL', 'error')