2009-06-18 23 views
44

Un miembro de mi equipo está desarrollando una aplicación de Rails en Windows XP. Estamos descubriendo que cuando ejecutamos la aplicación, ya sea lanzándola dentro de NetBeans o abriendo una consola y llamando al script/server, el registro de desarrollo de Rails no se desplaza. Solo está el mensaje de inicio de Webrick. La aplicación definitivamente se está ejecutando, pero cuando accedemos a varias páginas en el navegador, no vemos ninguna salida de registro.¿Cómo podemos ver el registro de desarrollo de Rails?

Cuando miro la aplicación idéntica en mi sistema OS X, la salida de registro funciona como se esperaba.

Me aseguré de que funcionara en el entorno de "desarrollo" de Rails.

¿Alguna idea de por qué el registro se suprimiría?

¿Hay parámetros de configuración para el archivo environment.rb que lo afectaría?

+8

mala idea usar Windows. – bmalets

Respuesta

99

Mire en el directorio log/ - debería haber un development.log. Apuesto a que tu salida está ahí.

Si no es así, asegúrese de que el directorio sea de escritura.

Para saber cómo se ve mientras se está ejecutando: si tiene instalado git bash, o algún otro shell como cygwin, entonces puede abrir un shell y hacer tail -f log/development.log que se desplazará el registro a medida que agrega cosas a eso.

+0

¡Hola Sarah! Gracias, sí, lo configuré con una ventana de consola de Git Bash con cola en cola. Sin embargo, me preocupa que Webrick no esté enviando todos los registros de salida de Rails a stdout. Pensé que se suponía que eso sucedería por defecto. – Ethan

+0

Sí, eso es extraño. Cuando ejecuto el script/servidor de ruby ​​en un directorio (en git bash, en XP Pro) veo el resultado. Lo intenté con y sin "ruby", e incluso en cmd.exe. Sin embargo, cada vez que esperó hasta tener una ventana llena de salida para producir algo. ¿Qué versión de Rails/Ruby/WEBrick? Estoy en 2.3.2/1.8.6/1.3.1. –

+0

2.3.2/1.8.6/no estoy seguro acerca de WEBrick: no tengo acceso a esa máquina XP en este momento. – Ethan

2

Siempre uso log/development.log para mirar los registros. Solo tail -f usando cygwin o algo así.

Tal vez su entorno de Windows usa WEBrick y el entorno OS X está utilizando Mongrel u otro servidor web. Me he dado cuenta de que con algunos servidores web, la salida de registro también se escribe (directamente) en el intérprete de comandos y con otros se escribe solo en los archivos de registro.

7

La documentación de Rails Configuration sugiere que puede tener log_level establecido en algo distinto de :debug en su configuración.

También hay un lugar alternativo para ver las solicitudes: el archivo log/development.log en su aplicación Rails. Si nada está escrito allí, entonces su problema debe estar en la configuración. En un sistema * nix me gustaría ejecutar:

$ tail -f log/development.log 

Y mire las solicitudes ejecutadas por. Me dicen que hay un Windows version of tail.

1

Sin excavar en la fuente de Webrick, sospecho que la cantidad de información mostrada no es por defecto grande. ¿Estás seguro de que estás ejecutando Webrick en OSX y no en Mongrel?

De hecho, ¿existe alguna razón en particular para continuar utilizando Webrick? Antes de la llegada de Phusion Passenger, Mongrel se había convertido en el servidor de aplicaciones para el usuario de de facto, y funciona perfectamente en Windows. Si lo instala (gem install mongrel), Rails lo usará de manera predeterminada.

En mi entorno de desarrollo, ejecutando Webrick (después de haber averiguado cómo, ha pasado mucho tiempo) obtuve un resultado muy breve: solo un registro de la solicitud "GET". Cambiando a Mongrel, obtuve los trabajos completos: solicitud, parámetros, SQL, tiempos, etc.

+0

Gracias. Eso es realmente útil. Sí, en mi máquina OS X ejecutando Mongrel. El sistema XP de mi compañero de trabajo está ejecutando Webrick. Intentaré instalar Mongrel allí. – Ethan

2

Netbeans parece dejar de mostrar el registro de desarrollo en la ventana de la consola cuando el registro de desarrollo es demasiado grande.Al menos esa fue mi experiencia.

6
less -R log/development.log 

Acabo de empezar a usar esto.

3

probar esto, para conseguir el desarrollo de registro:

tail -f log/development.log 

Asegúrese de que está en la ruta de la aplicación.

1

utilizo cola con grep

tail -f log/development.log | grep Started -A 1 

funciona de maravilla.

Cuestiones relacionadas