ver stop run online logs log commands app heroku logging

run - stop heroku app



heroku-cómo ver todos los registros (16)

Tengo una pequeña aplicación en heroku. Cada vez que quiero ver los registros, voy a la línea de comandos y hago

heroku logs

Eso solo me muestra unas 100 líneas. ¿No hay una manera de ver los registros completos de nuestra aplicación en heroku?


¡El registro ha mejorado mucho en heroku!

$ heroku logs -n 500

¡Mejor!

$ heroku logs --tail

referencias: http://devcenter.heroku.com/articles/logging

ACTUALIZADO

Estos ya no son complementos, sino parte de la funcionalidad predeterminada :)


Bueno, las respuestas anteriores son muy útiles, le ayudará a ver desde la línea de comandos. Mientras que si desea hacerlo desde su GUI, debe iniciar sesión en su cuenta de heroku y luego seleccionar su aplicación y finalmente hacer clic en ver registros


Heroku trata los registros como flujos de eventos ordenados por el tiempo. No se recomienda acceder a los archivos *.log en el sistema de archivos en dicho entorno por una variedad de razones.

Primero, si su aplicación tiene más de un dinamómetro, entonces cada archivo de registro solo representa una vista parcial de los eventos de su aplicación. Tendría que agregar manualmente todos los archivos para obtener la vista completa.

En segundo lugar, el sistema de archivos en Heroku tiene un significado efímero cada vez que se reinicia o mueve su dinamómetro (lo que ocurre aproximadamente una vez al día ) los archivos de registro se pierden. Por lo tanto, solo puede obtener, como máximo, la visualización de un día en los registros de ese único dinamómetro.

Finalmente, en la pila de Cedar ejecutando la heroku console o incluso heroku run bash no te conecta a un heroku run bash actualmente en ejecución. Genera uno nuevo específicamente para el comando bash . Esto se llama un proceso de una sola vez . Como tal, no encontrará los archivos de registro para sus otros diálogos que ejecutan los procesos http reales en el heroku run para la heroku run .

Logging y la visibilidad en general es un ciudadano de primera clase en Heroku y existen varias herramientas que abordan estos problemas. Primero, para ver un flujo de eventos de la aplicación en tiempo real en todos los dinámicos y todas las capas de la aplicación / pila, use el heroku logs -t para hacer un heroku logs -t salida a su terminal.

$ heroku logs -t 2010-09-16T15:13:46-07:00 app[web.1]: Processing PostController#list (for 208.39.138.12 at 2010-09-16 15:13:46) [GET] 2010-09-16T15:13:46-07:00 app[web.1]: Rendering template within layouts/application 2010-09-16T15:13:46-07:00 heroku[router]: GET myapp.heroku.com/posts queue=0 wait=0ms service=1ms bytes=975 2010-09-16T15:13:47-07:00 app[worker.1]: 2 jobs processed at 16.6761 j/s, 0 failed ...

Esto funciona muy bien para observar el comportamiento de su aplicación en este momento. Si desea almacenar los registros durante períodos de tiempo más prolongados, puede usar uno de los muchos complementos de registro que proporcionan retención de registros, alertas y activadores.

Por último, si desea almacenar los archivos de registro usted mismo, puede configurar su propio devcenter.heroku.com/articles/logging#syslog_drains para recibir el flujo de eventos de Heroku y postprocesarlos / analizarlos usted mismo.

Resumen: no use heroku console o heroku run bash para ver archivos de registro estáticos. Introduzca la secuencia de eventos de registro de Heroku para su aplicación utilizando los heroku logs o un complemento de registro.


Mi solución es obtener un registro completo la primera vez que se inicia la aplicación, como:

heroku logs -n 1500 > log

a continuación, agregue fgrep -vf para mantenerlo actualizado, como:

heroku logs -n 1500 > newlog ; fgrep -vf log newlog >> log

para el registro continuo, simplemente itérelo usando el reloj por cada x minutos (o segundos).



Para ver el registro detallado, debe colocar dos líneas en el archivo production.rb :

config.logger = Logger.new(STDOUT) config.logger.level = Logger::DEBUG

y luego corriendo

heroku logs -t

Usted puede ver los registros detallados.


Podría valer la pena agregar algo como el plan gratuito de Papertrail a su aplicación. Cero configuración, y obtiene 7 días de datos de registro de hasta 10 MB / día, y puede buscar hasta 2 días de registros.


Prefiero hacerlo de esta manera

heroku logs --tail | tee -a herokuLogs

Puede dejar la secuencia de comandos ejecutándose en segundo plano y simplemente puede filtrar los registros del archivo de texto de la forma que desee en cualquier momento.


Puede acceder a sus archivos de registro utilizando la interfaz de línea de comandos de Heroku ( uso de CLI ).

Si la CLI de Heroku está instalada y conoce el nombre de su aplicación (como https://myapp.herokuapp.com/ ), puede ejecutar el siguiente comando:

heroku logs --tail --app=myapp

También puede acceder a los registros en una secuencia en tiempo real utilizando:

heroku logs --source app --tail --app=myapp

Si los registros te dicen algo como esto:

npm ERR! Un registro completo de esta ejecución se puede encontrar en:

npm ERR! /app/.npm/_logs/2017-07-11T08_29_45_291Z-debug.log

Luego, también puede acceder a ellos utilizando el terminal bash a través de Heroku CLI:

heroku run bash --app=myapp less ./.npm/_logs/2017-07-11T08_29_45_291Z-debug.log


Siga en el Logging

Para ver sus registros tenemos:

  1. El comando logs recupera 100 líneas de log por defecto.

registros de heroku

  1. muestra un máximo de 1500 líneas, --num (o -n) opción.

registros de heroku -n 200

  1. Mostrar registros en tiempo real

registros de heroku - cola

  1. Si tienes muchas aplicaciones en heroku

heroku logs --app your_app_name


Sugiero usar un complemento, uso Logentries. Para usarlo, ejecute en su línea de comando:

heroku addons:create logentries:le_tryit

(ese comando crea el complemento para una cuenta gratuita pero claramente puedes actualizarlo si lo deseas)

Logentries le permite guardar hasta 5 GB de volumen de registro por mes. Esa información se puede buscar por su búsqueda de comandos en los últimos 7 días y tiene alertas en tiempo real.

Entonces, para responder a su pregunta, al usar este complemento, se asegura de que sus registros ya no se pierdan cuando llegue a las 1500 líneas que Heroku guarda por defecto. ¡Espero que esto ayude! ¡Que tengas un gran día!


También vea flujos / filtros individuales.

Ej. Cola solo sus registros de aplicación

heroku logs --source app -t

O ver solo los registros del enrutador

heroku logs --ps router

O encadenarlos juntos

heroku logs --source app --ps worker

Tan bueno..


para archivos WAR:

No usé github, en su lugar, cargué directamente un archivo WAR (que encontré mucho más fácil y rápido).

Así que lo siguiente me ayudó:

heroku logs --app appname

Espero que ayude a alguien.


--tail opción -t o --tail y debe definir el nombre de su aplicación heroku.

heroku logs -t --app app_name


heroku logs -t nos muestra los registros en vivo.


Actualización (gracias a dawmail333):

heroku logs -n 1500

o, para seguir los registros en vivo

heroku logs -t

Heroku documentación de registro

Si necesita más de unos pocos miles de líneas, puede usar los Drenajes Syslog de heroku

Alternativamente (método antiguo):

$ heroku run rails c File.open(''log/production.log'', ''r'').each_line { |line| puts line }