Laravel記錄執行的SQL到日誌(開發環境和生產環境都用得上)

0x5dc0發表於2022-10-04
//在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 命令效果更好。
本作品採用《CC 協議》,轉載必須註明作者和本文連結

相關文章