First, add a logging channel in config/logging.php:

<?php
return [
  'channels' => [
        'queries' => [
            'driver' => 'daily',
            'path' => storage_path('logs/queries.log'),
            'level' => 'debug',
            'days' => 28,
        ],
  ],
];

After that, update your AppServiceProvider in app/Providers/AppServiceProvider.php:

<?php
use Illuminate\Support\Facades\DB;
use Illuminate\Support\Facades\Log;

class AppServiceProvider extends ServiceProvider
{
    public function boot()
    {
        DB::listen(function ($query) {
            $location = collect(debug_backtrace())->filter(function ($trace) {
                return !str_contains($trace['file'], 'vendor/');
            })->first(); // grab the first element of non vendor/ calls

            $bindings = implode(", ", $query->bindings); // format the bindings as string

            if ($query->time < 1) {
                return;
            }

            Log::channel('queries')->info("
                    ------------
                    Sql: $query->sql
                    Bindings: $bindings
                    Time: $query->time
                    File: {$location['file']}
                    Line: {$location['line']}
                    ------------
            ");
        });
  }
}