错误和记录(Errors & Logging)
本章讨论Laravel项目中的错误和日志记录以及如何处理它们。
Errors
正在进行的项目承担一些错误。 启动新的Laravel项目时,已经为您配置了错误和异常处理。 通常,在本地环境中,我们需要查看错误以进行调试。 我们需要在生产环境中隐藏用户的这些错误。 这可以通过存储在应用程序根目录的环境文件.env设置的变量APP_DEBUG来实现。
对于本地环境, APP_DEBUG的值应为true但对于生产,需要将其设置为false以隐藏错误。
Note - 更改APP_DEBUG变量后,应重新启动Laravel服务器。
日志记录 (Logging)
日志记录是系统可以记录生成的错误的重要机制。 提高系统的可靠性很有用。 Laravel支持不同的日志记录模式,如single,daily,syslog和errorlog模式。 您可以在config/app.php文件中设置这些模式。
'log' => 'daily'
您可以在storage/logs/laravel.log文件中看到生成的日志条目。
创建自定义日志文件
要创建自定义日志文件,您应该执行以下步骤 -
Step 1 - 在此步骤中,您应使用Logfaçade在Laravel中创建自定义日志文件。 只需在控制器中使用use关键字即可声明façade。 它显示如下 -
<?php
use Log;
class LoginController extends Controller{
public function FuncName(Request $request){
// log something to storage/logs/laravel.log
Log::info(['Request'=>$request]);}
}
?>
这里,函数名称FuncName将通过在函数体内发送参数Log :: info来帮助创建日志。
Step 2 - 如果需要单独保存此文件,则应在此步骤中执行此操作。 为此,您可以在包含日志行之前使用像useDailyFiles()这样的演示函数,如下所示 -
<?php
use Log;
class LoginController extends Controller{
public function FuncName(Request $request){
// log something to storage/logs/debug.log
Log::useDailyFiles(storage_path().'/logs/debug.log');
Log::info(['Request'=>$request]);
}
}
?>
将在文件debug.log跟踪所有日志。 日志中记录的错误对开发很有用。
Step 3 - 在此步骤中,您将处理Laravel中的记录器,其中包括除给定示例中提到的Log::info之外的各种类型。
Log::emergency($error);
Log::alert($error);
Log::critical($error);
Log::error($error);
Log::warning($error);
Log::notice($error);
Log::info($error);
Log::debug($error);
可以包含在日志文件中的错误类型包括: emergency, alert, critical, error, warning, notice, info和debug 。
根据创建的日志,考虑Web应用程序的改进。