当前位置: 首页 > 文档资料 > Laravel 入门教程 >

错误和记录(Errors & Logging)

优质
小牛编辑
125浏览
2023-12-01

本章讨论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, infodebug

根据创建的日志,考虑Web应用程序的改进。