Laravel 实时监听打印 SQL

Posted gentlemanwuyu

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Laravel 实时监听打印 SQL相关的知识,希望对你有一定的参考价值。

创建监听器

php artisan make:listener QueryListener --event=Illuminate\\Database\\Events\\QueryExecuted

打开 app/Providers/EventServiceProvider.php ,在 $listen 中添加

protected $listen = [
    ‘Illuminate\Database\Events\QueryExecuted‘ => [
        ‘App\Listeners\QueryListener,
    ]
];

  打开 QueryListener 文件

use \Log;
public function handle (QueryExecuted $event)

    if (env(‘APP_ENV‘, ‘production‘) == ‘local‘) 
        $sql = str_replace("?", "‘%s‘", $event->sql);
        $log = vsprintf($sql, $event->bindings);
        Log::info($log);
    

  

以上是关于Laravel 实时监听打印 SQL的主要内容,如果未能解决你的问题,请参考以下文章

实时监听hive日志文件,并将内容打印到控制台上

Laravel 更新有时使用 'INSERT' SQL

mysql laravel 可以外连接还是全连接?

vue实时监听网络状态是wifi还是4G

Laravel Homestead , Socket.io 连接被拒绝

laravel 事件 & 监听