Laravel记录执行的SQL到日志(开发环境和生产环境都用得上)

//在app/Providers/AppServiceProvider.php的boot方法中写入
DB::listen(function ($query) {
     Log::channel('db')->info($query->sql, $query->bindings);
});

//为了系统日志与SQL日志区分开,所以需要自定义一个channel,在config/logging.php中配置:
'db' => [
    'driver' => 'daily',
    'path'   => storage_path('logs/db.log'),
    'level'  => env('LOG_LEVEL', 'debug'),
    'days'   => 7,
],

//开发环境可配合git控制台的tail -f 命令效果更好。

你可能感兴趣的:(PHP,laravel,php)