Quoi ?
Ajouter la prise en charge de ActiveRecord::QueryLogs.prepend_comment comme une extension naturelle de la fonctionnalité existante de balises de journal de requêtes. Ce nouveau paramètre fonctionne en parallèle de la variable d’environnement actuelle RAILS_QUERY_LOG_TAGS.
Pourquoi ?
Les balises de journal de requêtes sont incroyablement utiles pour le débogage, mais il y a un hic : lorsqu’il s’agit de requêtes longues et complexes, PostgreSQL et d’autres bases de données tronquent souvent les journaux. Lorsque cela se produit, le contexte précieux des balises de requête (qui sont ajoutées à la fin par défaut) est coupé, ce qui rend difficile de retracer quelle partie de votre application a généré la requête.
En activant prepend_comment, les balises de requête sont déplacées au début de la requête SQL au lieu de la fin. Cela garantit que même lorsque les requêtes sont tronquées dans les journaux, vous pourrez toujours voir les informations de débogage critiques telles que les noms de contrôleurs, les noms d’actions et les informations de tâches.
Comment ?
La fonctionnalité doit être facultative et suit le modèle de configuration existant de Discourse :
- Activer les balises de journal de requêtes (si elles ne sont pas déjà activées) :
RAILS_QUERY_LOG_TAGS=1 - Activer le commentaire de préfixe :
RAILS_QUERY_LOG_PREPEND_COMMENT=1
La fonctionnalité ne s’active que lorsque les deux conditions sont remplies : les balises de journal de requêtes doivent être activées et le drapeau de commentaire de préfixe doit être défini. Cela maintient la compatibilité ascendante et donne aux opérateurs un contrôle précis sur leur configuration de journalisation.
PR d’implémentation : Add support for ActiveRecord::QueryLogs.prepend_comment by mudit-1996 · Pull Request #35888 · discourse/discourse · GitHub