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 命令效果更好。