SQL 查询日志和慢日志
app/Providers/AppServiceProvider.php
public function boot()
{
if (config('app.env') === 'local') {
// 打印 SQL 语句
DB::listen(function ($query): void {
Log::debug('DB: '.$query->sql.'['.implode(',', $query->bindings).']');
});
// 慢日志
DB::listen(function ($query) {
if ($query->time >= 100) {
$location = collect(debug_backtrace(DEBUG_BACKTRACE_IGNORE_ARGS))->filter(function ($trace) {
if (isset($trace['file'])) {
return ! str_contains($trace['file'], 'vendor/');
}
return false;
})->first();
$bindings = implode(', ', $query->bindings); // format the bindings as string
Log::info("
Sql: $query->sql
Bindings: $bindings
Time: $query->time
File: {$location['file']}
Line: {$location['line']}");
}
});
}
}
推荐文章: