Lors de l'exécution de commandes dans la console Rails, la journalisation des requêtes SQL peut encombrer la sortie, la rendant difficile à lire et déboguer. Heureusement, il existe un moyen simple de désactiver cette journalisation.
Pour supprimer la journalisation des requêtes SQL dans la console, vous pouvez attribuer une nouvelle valeur à l'objet ActiveRecord::Base.logger. Voici comment y parvenir :
Désactivation de la journalisation :
old_logger = ActiveRecord::Base.logger ActiveRecord::Base.logger = nil
La variable old_logger stocke l'enregistreur d'origine pour une utilisation ultérieure. En définissant ActiveRecord::Base.logger sur nil, vous désactivez efficacement toute journalisation des requêtes SQL.
Réactivation de la journalisation :
Une fois que vous avez terminé votre session de débogage, vous pouvez restaurer la journalisation des requêtes SQL en attribuant à nouveau l'enregistreur d'origine à ActiveRecord::Base.logger :
ActiveRecord::Base.logger = old_logger
Cela réactivera la journalisation des requêtes SQL, fournissant un enregistrement détaillé de vos requêtes pour référence ou diagnostic futur.
Ajustement du niveau de journalisation :
Comme une approche plus nuancée, vous pouvez également ajuster le niveau de journalisation d'ActiveRecord::Base.logger à supprimer ou activer de manière sélective différents niveaux d’informations de journalisation. Par exemple, définir le niveau de journalisation sur 1 (ou Logger::INFO) enregistrera uniquement les requêtes SQL avec INFO ou une priorité supérieure.
ActiveRecord::Base.logger.level = 1 # or Logger::INFO
N'oubliez pas de redéfinir le niveau de journalisation sur la valeur d'origine après avoir terminé votre session de débogage pour éviter d'affecter d'autres aspects de la journalisation de votre application.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!