Misteri Log Masuk Pertanyaan Kosong Laravel 5: DB::getQueryLog() Didedahkan
Apabila cuba mendapatkan semula log pertanyaan menggunakan DB ::getQueryLog(), pembangun mungkin menghadapi hasil yang tidak dijangka: tatasusunan kosong. Tingkah laku yang membingungkan ini berpunca daripada pengelogan pertanyaan yang dilumpuhkan dalam Laravel 5 secara lalai.
Mendayakan Pengelogan Pertanyaan
Untuk mengakses log pertanyaan, anda perlu mendayakannya secara eksplisit:
-
Memanggil DB::enableQueryLog(): Ini mengaktifkan pengelogan pertanyaan untuk semua sambungan DB.
-
Mendaftarkan Pendengar Acara: Daftar a pendengar untuk menerima maklumat terperinci tentang setiap pertanyaan yang dilaksanakan.
Pertimbangan
-
Berbilang Sambungan DB: Jika aplikasi anda menggunakan berbilang sambungan pangkalan data, nyatakan sambungan untuk log, cth., DB::connection('my_connection')->enableQueryLog().
-
Mendayakan Lokasi: Tentukan lokasi yang paling sesuai untuk mendayakan pertanyaan pembalakan. Untuk permintaan HTTP, pertimbangkan perisian tengah; untuk arahan CLI, pendengar acara artisan.start.
-
Penggunaan Memori: Berhati-hati tentang penggunaan memori yang berpotensi apabila menyimpan pertanyaan dalam ingatan. Untuk tujuan penyahpepijatan, pertimbangkan untuk mendayakan pengelogan hanya dalam persekitaran pembangunan.
Mendapatkan Log Pertanyaan
Setelah didayakan, anda boleh mendapatkan semula log pertanyaan dengan memanggil DB:: getQueryLog(). Ini mengembalikan tatasusunan yang mengandungi data berikut:
- Pernyataan SQL
- Pengikatan (jika ada)
- Masa pelaksanaan
Sumber Tambahan
Untuk maklumat lanjut, rujuk dokumentasi Laravel: https://laravel.com/docs/5.0/database#query-logging
Atas ialah kandungan terperinci Mengapa Log Pertanyaan Laravel 5 Saya Kosong?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!
Kenyataan:Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn