2010-11-05 8 views

Respuesta

14

Para alternar la tala en escritura/consola de esto es lo que yo uso:

def show_log 
    change_log(STDOUT) 
end 

def hide_log 
    change_log(nil) 
end 

def change_log(stream, colorize=true) 
    ActiveRecord::Base.logger = ::Logger.new(stream) 
    ActiveRecord::Base.clear_all_connections! 
    ActiveRecord::Base.colorize_logging = colorize 
end 
+0

Esto es exactamente lo que yo era después, ¡gracias! – Coderama

+6

Genial, me gusta esto. Aunque para Rails 3, necesitas sacar la última línea del método change_log. Además, devolver un valor nil para ese método dará un resultado de "alternar" más limpio. – janechii

1

puede apagar su registrador ejecutando en modo de producción o ajustando su archivo de registro en el archivo de entorno development.rb en su directorio de configuración si de hecho está ejecutando en desarrollo en su servidor local.

+0

Gracias por la respuesta. Pero estoy buscando una solución temporal en el script/consola. p.ej. Estoy en el script/consola y estoy trabajando con la necesidad del registrador, pero luego quiero evitar que el registrador muestre el SQL solo para una consulta AR que estoy a punto de ejecutar. ¿Cómo desactivo el registrador y luego lo vuelvo a encender en script/consola? – Coderama

+0

sí, lo vi después de publicarlo. No sé cómo hacerlo solo por unas pocas líneas sql :( – s84

+1

revisa la carpeta 'scripts' en tu aplicación de rieles, creo que puedes desactivar el registrador para el uso de' console'. – s84

Cuestiones relacionadas