2011-10-11 25 views

Respuesta

149

Una mejor manera de hacerlo es escribiendo esto en la consola:

ActiveRecord::Base.logger.level = 1 

ya que evita problemas al intentar utilizar un puntero a un registrador que se establece en cero (fuente: Disable Rails SQL logging in console)

+25

Gracias. Y para volver a activarlo, 'ActiveRecord :: Base.logger.level = 0'. – thebenedict

+0

¿Alguna idea de cómo hacer esto con Mongoid? –

8

Respuesta corta ... En el cambio de archivos development.rb o añadir el valor de config.log_level para que haya una línea como

config.log_level = :info 
+1

No, esto no parece tener ningún impacto en lo que sucede en la consola. Además, preferiría una solución que no requiera que cambie los archivos del proyecto. –

+0

Ok, la solución me funciona con webrick pero es posible que esté utilizando otro servidor o ejecutando en modo producción o prueba? – madth3

+2

Funciona para cambiar el contenido de los archivos de registro. Pero la pregunta es sobre la consola de rieles, no los archivos de registro. –

29
ActiveRecord::Base.logger = nil 

de here

+6

Esto puede causar 'NoMethodError's con ActiveRecord esperando' ActiveRecord :: Base.logger' para ser un objeto en lugar de 'nil'. –

5

De un amigo mío :

your_query; nil 
+1

Para mejorar la calidad de su publicación, por favor incluya cómo y por qué su publicación resolverá el problema. –

+6

Esto impedirá que la consola de ruby ​​descargue los resultados de las expresiones a la consola, pero no impedirá que ActiveRecord vacíe la información de sql en el registrador de rieles. – eremzeit

+1

A los comentadores anteriores: esto responde la pregunta, y es la única respuesta que funcionó para mí, ¿qué más se podría desear? – valk

-2

Veo que ya tiene su necesaria una Aunque me gustaría recomendarle la gema "activos reservados", la mayoría de los datos de registro serán compilados e inclusiones de activos, esta joya eliminará eso y aún generará las consultas y el comportamiento de los datos.

Diviértete

+1

La pregunta es acerca de la salida a la consola, no archivos de registro –

4

en Rails 3.2, estableciendo

config.logger.level = Logger::INFO 

funcionó bien para mí para desactivar la salida de SQL.

Cuestiones relacionadas