如何在应用启动后启用QueryLog数据库Laravel。

时间:2016-08-29 11:15:18

标签: database laravel laravel-5

我想在控制器laravel中获取Query,但我必须使用DB::enableQueryLog()在函数i中DB::getQueryLog()。应用开始时我想要DB::enableQueryLog()。在控制器中DB::getQueryLog()没有DB::enableQueryLog()

请帮忙!非常感谢

1 个答案:

答案 0 :(得分:1)

您可以通过\DB::listen投放所有问题。例如,在您的一个ServiceProvider中,您可以使用以下代码注册一个侦听器,将所有查询记录到文件中:

if (app()->environment() == 'local') {
    \DB::listen(function ($event) {
        app('<your custom logger>')->debug(\Request::getPathInfo() . '[' . $event->time . '] ' . $event->sql, $event->bindings);
    });
}