Laravel框架中如何使用事件记录SQL查询到日志

Posted 头大的冯冯

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Laravel框架中如何使用事件记录SQL查询到日志相关的知识,希望对你有一定的参考价值。

在本文中,我们将说一下如何处理Laravel中的查询日志记录。如果你非常熟悉Laravel框架,Laravel可以选择将所有在当前请求中运行的查询记录在内存中。

查询记录

如果,你想要将日志文件保存在 storage/logs 目录中。需要更新: app/Providers/AppServiceProvider.php里的 boot() 函数。

 1 <?php
 2 
 3 namespace AppProviders;
 4 
 5 use IlluminateSupportServiceProvider;
 6 use DB;
 7 use Log;//使用Log门面模式
 8 
 9 class AppServiceProvider extends ServiceProvider
10 {
11     /**
12      * Bootstrap any application services.
13      *
14      * @return void
15      */
16     public function boot()
17     {
18         // 新增代码
19         DB::listen(function ($query) {
20             Log::info(
21                 $query->sql,
22                 $query->bindings,
23                 $query->time
24             );
25         });
26     }
27 
28     /**
29      * Register any application services.
30      *
31      * @return void
32      */
33     public function register()
34     {
35         //
36     }
37 }

这样我们就可以记录执行过的SQL语句了(记录到storage/logs目录),开发过程中也方便我们进行调试。

 

php中文网:https://www.php.cn/phpkj/laravel/407282.html

以上是关于Laravel框架中如何使用事件记录SQL查询到日志的主要内容,如果未能解决你的问题,请参考以下文章

如何使用 Laravel 的流畅查询构建器混合原始 SQL 和非原始 SQL

SQL 获取两个日期相差几个月,要精确到日

数据库查询时日期的转换

Laravel 5.7 执行 SQL 查询多少次?

Laravel 各版本- 原生SQL打印之SQL监听 --方法

C# 后台如何向SQL数据库中插入一定时间范围内的随机日期值,到日就可以!!