¿Cómo podemos ver el registro de desarrollo de Rails?
-
06-07-2019 - |
Pregunta
Un miembro de mi equipo está desarrollando una aplicación 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 a script / server
, el registro de desarrollo de Rails no se desplaza. Solo existe el mensaje de inicio de Webrick. La aplicación definitivamente se está ejecutando, pero cuando llegamos a varias páginas en el navegador no vemos ningún resultado de registro.
Cuando miro la aplicación idéntica en mi sistema OS X, la salida de registro funciona como se esperaba.
Me aseguré de que se esté ejecutando en Rails " desarrollo " medio ambiente.
¿Alguna idea de por qué se suprimiría el registro?
¿Hay parámetros de configuración para el archivo environment.rb que lo afectarían?
Solución
Busque en el directorio log /
; debe haber un development.log
. Apuesto a que tu salida está ahí.
Si no es así, asegúrese de que el directorio se pueda escribir.
Para ver cómo se está ejecutando: si tiene instalado git bash o algún otro shell como cygwin, puede abrir un shell y hacer tail -f log / development.log
que desplazará el registro a medida que se le agreguen cosas.
Otros consejos
La Configuración de Rails la documentación sugiere que puede tener log_level
establece algo diferente a : debug
en tu configuración.
También hay un lugar alternativo para ver las solicitudes: el archivo log / development.log en su aplicación Rails. Si no hay nada escrito allí, entonces su problema debe estar en la configuración. En un sistema * nix, ejecutaría:
$ tail -f log/development.log
Y mira las solicitudes que se ejecutan. Me dicen que hay una versión de Windows de tail
.
less -R log/development.log
Acabo de empezar a usar esto.
Siempre uso log / development.log
para mirar los registros. Simplemente tail -f
con cygwin o algo así.
Tal vez su entorno Windows esté utilizando 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 se escribe (también) directamente en el shell y con otros se escribe solo en los archivos de registro.
Pruebe esto para obtener el registro de desarrollo:
tail -f log/development.log
Asegúrese de estar en la ruta de la aplicación.
Netbeans parece dejar de mostrar el registro de desarrollo en la ventana de la consola cuando el registro de desarrollo se hace demasiado grande. Al menos esa fue mi experiencia.
Sin profundizar en la fuente de Webrick, sospecho que la cantidad de información que se muestra no es grande por defecto. ¿Estás seguro de que estás ejecutando Webrick en OSX y no Mongrel?
De hecho, ¿hay alguna razón particular para seguir usando Webrick? Antes de la llegada de Phusion Passenger, Mongrel se había convertido en el servidor front-end de facto elegido, y funciona bien en Windows. Si lo instala ( gem install mongrel
), Rails lo usará por defecto.
En mi entorno de desarrollo, ejecutando Webrick (después de haber descubierto cómo, ha pasado mucho tiempo) obtuve un resultado muy breve: solo un registro de "GET" solicitud. Cambiando a Mongrel, obtuve los trabajos completos: solicitud, parámetros, SQL, tiempos, etc.
Uso cola con grep
tail -f log/development.log | grep Started -A 1
Funciona maravillosamente.
Puede ver los registros de tiempo de ejecución con el siguiente comando:
tailf log/development.log
Además, si solo desea la primera o la última cantidad de líneas de los registros, puede obtenerlas con el siguiente comando (primeras / últimas 100 líneas de los registros):
Por ejemplo:
Primeras 100 líneas:
head -n 100 log/development.log
Últimas 100 líneas:
tail -n 100 log/development.log
¡Gracias!
Puedes probar este comando
$ tail -f development.log
$ tail -f log/development.log