Laravel 打印慢查询SQL语句到日志文件

09-17 13:50   原创 27 责编:寂静的神经

Laravel 开发的程序运行较慢,在优化的过程中需要打印慢查询 SQL 语句以便排查,方法如下:

在 \app\Providers\AppServiceProvider.php 文件的 boot 方法中添加下面的代码,不要忘记引用 DB 类和 Log 类。

DB::listen(function($query){
    $sql = $query->sql;
    $bingings = $query->bindings;         
    $time = $query->time;
    Log::debug(compact('sql','bingings','time'));
});

还可以打印执行时间超过指定值的 SQL 语句:

DB::listen(function($query){
    $sql = $query->sql;
    $bingings = $query->bindings;         
    $time = $query->time;
    if($time > 5){
        Log::debug(compact('sql','bingings','time'));
    }
});

效果:

分享给小伙伴们:

最新文章

最热文章

零五科技,分享IT知识,国内顶级IT知识门户网站。

©2015 零五科技 版权所有