在Laravel中使用事件记录SQL查询到日志

藏色散人
藏色散人 转载
2019-11-15 15:17:18 2659浏览

在本文中,我们将讨论如何处理Laravel中的查询日志记录。 假设你在阅读本文时已经非常熟悉Laravel。 Laravel可以选择将所有在当前请求中运行的查询记录在内存中。 有一些方法可用于此。

查询记录

如果,你想要将日志文件保存在 storage/logs 目录中。

需要更新: app/Providers/AppServiceProvider.php 里的 boot() 函数。

<?php
namespace App\Providers;
use Illuminate\Support\ServiceProvider;
use DB;
class AppServiceProvider extends ServiceProvider
{
    /**
     * Bootstrap any application services.
     *
     * @return void
     */
    public function boot()
    {
        // 新增代码
        DB::listen(function($query) {
            Log::info(
                $query->sql,
                $query->bindings,
                $query->time
            );
        });
    }
    /**
     * Register any application services.
     *
     * @return void
     */
    public function register()
    {
        //
    }
}

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

以上就是在Laravel中使用事件记录SQL查询到日志的详细内容,更多请关注php中文网其它相关文章!

声明:本文转载于:segmentfault,如有侵犯,请联系admin@php.cn删除