HỌC TIẾNG ANH NGAY TỪ BÂY GIỜ ĐỂ KHÔNG PHẢI HỐI TIẾC VỀ SAU

Create SQL log query in Laravel

  • 6 lượt xem
  • Trả lời cuối 08 Tháng Ba 2018
  • Đã được giải quyết
Kiệt Tấn Lê # 08 Tháng Ba 2018

Tìm đến file app/Provicers/AppServiceProvider.php, copy và paste đoạn code sau vào public function boot()

\DB::listen(function ($sql) {

       foreach ($sql->bindings as $i => $binding) {
           if ($binding instanceof \DateTime) {
               $sql->bindings[$i] = $binding->format('\'Y-m-d H:i:s\'');
           } else {
               if (is_string($binding)) {
                   $sql->bindings[$i] = "'$binding'";
               }
           }
       }

       // Insert bindings into query
       $query = str_replace(array('%', '?'), array('%%', '%s'), $sql->sql);

       $query = vsprintf($query, $sql->bindings);

       // Save the query to file
       $logFile = fopen(
           storage_path('logs' . DIRECTORY_SEPARATOR . date('Y-m-d') . '_query.log'),
           'a+'
       );
       fwrite($logFile, date('Y-m-d H:i:s') . ': ' . $query . PHP_EOL);
       fclose($logFile);
       });

Kiệt Tấn Lê # 08 Tháng Ba 2018

Log sẽ được lưu tại thư mục storage/logs/{yyyy-mm-dd}_query.log. Tức kà mỗi ngày sẽ có 1 log query khác nhau. 

Đóng
HỌC ĐỂ BIẾT HỌC ĐỂ LÀM HỌC ĐỂ CHUNG SỐNG HỌC ĐỂ TỰ KHẲNG ĐỊNH MÌNH