Unterstützung für das Voranstellen von Query-Log-Kommentaren hinzufügen

Was?

Fügen Sie Unterstützung für ActiveRecord::QueryLogs.prepend_comment als natürliche Erweiterung der vorhandenen Funktion für Abfrageprotokoll-Tags hinzu. Diese neue Einstellung funktioniert neben der aktuellen Umgebungsvariable RAILS_QUERY_LOG_TAGS.

Warum?

Abfrageprotokoll-Tags sind für die Fehlersuche äußerst nützlich, aber es gibt einen Haken: Bei langen, komplexen Abfragen kürzen PostgreSQL und andere Datenbanken die Protokolle oft. Wenn dies geschieht, gehen die wertvollen Kontexte von Abfrage-Tags (die standardmäßig am Ende angehängt werden) verloren, was es schwierig macht, nachzuvollziehen, welcher Teil Ihrer Anwendung die Abfrage generiert hat.

Durch die Aktivierung von prepend_comment werden die Abfrage-Tags an den Anfang der SQL-Abfrage verschoben, anstatt ans Ende. Dies stellt sicher, dass Sie auch dann, wenn Abfragen in den Protokollen gekürzt werden, immer noch die kritischen Debugging-Informationen wie Controller-Namen, Aktionsnamen und Job-Informationen sehen können.

Wie?

Die Funktion sollte opt-in sein und folgt dem bestehenden Muster von Discourse für die Konfiguration:

  1. Aktivieren Sie Abfrageprotokoll-Tags (falls noch nicht aktiviert): RAILS_QUERY_LOG_TAGS=1
  2. Aktivieren Sie das Präfix-Kommentar: RAILS_QUERY_LOG_PREPEND_COMMENT=1

Die Funktion wird nur aktiviert, wenn beide Bedingungen erfüllt sind: Abfrageprotokoll-Tags müssen aktiviert sein und das Präfix-Kommentar-Flag muss gesetzt sein. Dies gewährleistet die Abwärtskompatibilität und gibt Betreibern eine feingranulare Kontrolle über ihre Protokollkonfiguration.

Implementierungs-PR: Add support for ActiveRecord::QueryLogs.prepend_comment by mudit-1996 · Pull Request #35888 · discourse/discourse · GitHub