Laravel 错误处理
大多数 Web 应用程序都有特定的错误处理机制,这些机制负责跟踪错误和异常,并记录它们以分析性能。在本章中,你将了解 Laravel 应用程序中的错误处理。
要点
在进一步详细了解 Laravel 中的错误处理之前,请注意以下要点:
Chinese Glossary对于任何新的项目,Laravel默认将错误和异常记录在App\Exceptions\Handler类中,然后它们会被提交给用户进行分析;
当你的 Laravel 应用程序设置为debug模式时,程序中发生的每个错误都会显示带有堆栈跟踪的详细错误消息;
默认情况下,debug模式设置为false,你可以把它改成true,这使用户能够通过堆栈跟踪来跟踪所有错误;
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')