Lorsque j'accède à mon serveur Webrick via le localhost, ou lorsque j'enregistre Rails migrations, mon développement.log est correctement écrit à. Cependant, lorsque je déménage mon Rails Console avec "Rails C", puis essayez de créer un nouvel objet de base de données et enregistrez-le via une commande comme "utilisateur.save", je vois des instructions SQL dans la console, mais rien n'est écrit dans le journal de développement.
La plupart des gens pour répondre à une question similaire à celle-ci "Vérifiez que la configuration est définie sur l'environnement correct". Je l'ai fait et je peux dire sur mon système cela se produit pour un tout nouveau Rails application.
Toute aide serait appréciée. Merci!
the Rails console n'écrit jamais au fichier journal, mais vous pouvez l'atteindre assez facilement, par exemple, si vous exécutez la suivante après le démarrage de Rails console
ActiveRecord::Base.logger = Logger.new STDOUT
Les rails vont enregistrer toutes les instructions SQL à STDOUT, les affichent ainsi dans votre terminal. et depuis Logger.new
Accepte tout flux comme premier argument, vous pouvez simplement le laisser écrire sur Rails Development.log:
ActiveRecord::Base.logger = Logger.new File.open('log/development.log', 'a')
Je suis in Rails 2.3.8, la réponse ci-dessus ne fonctionne pas vraiment pour moi.
ActiveRecord::Base.logger = Logger.new STDOUT
Ce qui suit fonctionne réellement:
ActiveRecord::Base.connection.instance_variable_set :@logger, Logger.new(STDOUT)
Référence http://www.shanison.com/2012/03/05/show-sql-statifs-in-Rails-console/