Apabila melaksanakan arahan dalam konsol Rails, pengelogan pertanyaan SQL boleh mengacaukan output, menjadikannya sukar untuk dibaca dan nyahpepijat. Nasib baik, terdapat cara mudah untuk melumpuhkan pengelogan ini.
Untuk menyekat pengelogan pertanyaan SQL dalam konsol, anda boleh menetapkan nilai baharu pada objek ActiveRecord::Base.logger. Begini cara untuk melakukannya:
Melumpuhkan Pengelogan:
old_logger = ActiveRecord::Base.logger ActiveRecord::Base.logger = nil
Pembolehubah old_logger menyimpan pembalak asal untuk kegunaan kemudian. Dengan menetapkan ActiveRecord::Base.logger kepada sifar, anda melumpuhkan semua pengelogan pertanyaan SQL dengan berkesan.
Mendayakan semula Pengelogan:
Setelah anda menyelesaikan sesi penyahpepijatan anda, anda boleh memulihkan pengelogan pertanyaan SQL dengan memberikan kembali logger asal kepada ActiveRecord::Base.logger:
ActiveRecord::Base.logger = old_logger
Ini akan mendayakan semula pengelogan pertanyaan SQL, menyediakan rekod terperinci pertanyaan anda untuk rujukan atau diagnostik masa hadapan.
Melaraskan Tahap Log :
Sebagai pendekatan yang lebih bernuansa, anda juga boleh melaraskan tahap log ActiveRecord::Base.logger untuk menyekat atau mendayakan tahap maklumat pengelogan yang berbeza. Contohnya, menetapkan tahap log kepada 1 (atau Logger::INFO) hanya akan log pertanyaan SQL dengan INFO atau keutamaan yang lebih tinggi.
ActiveRecord::Base.logger.level = 1 # or Logger::INFO
Ingat untuk menetapkan semula tahap log kepada nilai asal selepas melengkapkan anda sesi penyahpepijatan untuk mengelak menjejaskan aspek lain pengelogan aplikasi anda.
Atas ialah kandungan terperinci Bagaimana untuk Melumpuhkan Pengelogan SQL buat sementara waktu dalam Konsol Rails untuk Penyahpepijatan yang Lebih Mudah?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!