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

在本文中,咱们将讨论如何处理Laravel中的查询日志记录。 假设你在阅读本文时已经很是熟悉Laravel。 Laravel能够选择将全部在当前请求中运行的查询记录在内存中。 有一些方法可用于此。 你能够查看 官方文档之数据库php

查询记录

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

<?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语句了,开发过程当中也方便咱们进行调试。sql

但愿你喜欢这篇文章。若是有任何问题,请随时添加评论。数据库

更多PHP知识,能够前往 PHPCastsapp

相关文章
相关标签/搜索