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