2010-09-29 4 views
5

J'écris une application Rails 2.3.8 et j'apprécie la configuration de journalisation par défaut d'ActiveRecord en mode développement qui consiste à afficher les requêtes SQL et leurs valeurs sur la console du serveur. Mais, dans le cas des valeurs blob, je préférerais ne pas les voir.Comment empêcher Rails ActiveRecord de journaliser le contenu blob?

Est-il possible de conserver le même niveau de consignation, mais sans obtenir de contenu blobs lorsque des instructions d'insertion sont émises?

Merci

Répondre

3

Vous pouvez utiliser filter_parameter_logging dans votre contrôleur d'application pour gommage qui, juste comme vous le feriez avec des mots de passe et les confirmations de mot de passe:

class ApplicationController < ActionController::Base 
    filter_parameter_logging :my_blob 
end 

Ceci est lourd si vous avez plusieurs différents params blob potentiels , mais fonctionne pour la plupart des cas.

+2

Cela semble être utile, mais seulement pour les paramètres de demande (comme les mots de passe de formulaire). Je me demande comment faire quelque chose de similaire quand des blobs sont insérés dans la base de données par ActiveRecord. –

+0

Ne fonctionne pas pour la journalisation AR SQL, uniquement les paramètres de requête (au moins dans Rails 3.2.x) –

Questions connexes