O quê?
Adicione suporte para ActiveRecord::QueryLogs.prepend_comment como uma extensão natural do recurso existente de tags de log de consulta. Esta nova configuração funciona em conjunto com a variável de ambiente atual RAILS_QUERY_LOG_TAGS.
Por quê?
As tags de log de consulta são incrivelmente úteis para depuração, mas há um porém: ao lidar com consultas longas e complexas, o PostgreSQL e outros bancos de dados frequentemente truncam os logs. Quando isso acontece, o valioso contexto das tags de consulta (que são anexadas no final por padrão) é cortado, dificultando o rastreamento de qual parte do seu aplicativo gerou a consulta.
Ao habilitar prepend_comment, as tags de consulta são movidas para o início da consulta SQL em vez do final. Isso garante que, mesmo quando as consultas são truncadas nos logs, você ainda poderá ver informações críticas de depuração, como nomes de controladores, nomes de ações e informações de jobs.
Como?
O recurso deve ser opt-in e segue o padrão existente de configuração do Discourse:
- Habilite as tags de log de consulta (se ainda não estiverem habilitadas):
RAILS_QUERY_LOG_TAGS=1 - Habilite o comentário de preenchimento:
RAILS_QUERY_LOG_PREPEND_COMMENT=1
O recurso só é ativado quando ambas as condições são atendidas: as tags de log de consulta devem estar habilitadas e o sinalizador de comentário de preenchimento deve ser definido. Isso mantém a compatibilidade com versões anteriores e oferece aos operadores controle granular sobre sua configuração de log.
PR de implementação: Add support for ActiveRecord::QueryLogs.prepend_comment by mudit-1996 · Pull Request #35888 · discourse/discourse · GitHub