ruby - La consola Rails no está enviando declaraciones SQL a mi registro de desarrollo
ruby-on-rails-3 logging (2)
Cuando accedo a mi servidor Webrick a través del localhost, o cuando ejecuto migraciones de rieles, mi development.log está escrito correctamente. Sin embargo, cuando reinicio mi consola de rieles con "rails c" y luego intento crear un nuevo objeto de base de datos y guardarlo mediante un comando como "user.save", veo sentencias de SQL en la consola, pero no se escribe nada en el registro de desarrollo
La mayoría de las personas al responder una pregunta similar a esta dice "verifique para asegurarse de que la configuración esté configurada en el entorno correcto". He hecho esto, y puedo decir en mi sistema que esto sucede para una aplicación de rieles completamente nueva.
Cualquier ayuda sería apreciada. ¡Gracias!
Estoy en Rails 2.3.8, la respuesta anterior no funciona para mí.
ActiveRecord::Base.logger = Logger.new STDOUT
Lo siguiente realmente funciona:
ActiveRecord::Base.connection.instance_variable_set :@logger, Logger.new(STDOUT)
Referencia http://www.shanison.com/2012/03/05/show-sql-statements-in-rails-console/
la consola de rieles nunca escribe en el archivo de registro, pero puede lograrlo con bastante facilidad, por ejemplo, si ejecuta los siguientes después de iniciar la consola de rieles
ActiveRecord::Base.logger = Logger.new STDOUT
rails registrará todas las sentencias SQL en stdout, por lo tanto, las mostrará en su terminal. y dado que Logger.new
acepta cualquier flujo como primer argumento, puede dejarlo escribir en los carriles development.log:
ActiveRecord::Base.logger = Logger.new File.open(''log/development.log'', ''a'')