2011-07-24 20 views
5

Quería ver los contenidos de mis aplicaciones iniciar sesión en heroku.com, así que he seguido this excellent advice y tengo todos los contenidos de mi registro. Sin embargo ahora estoy curioso para averiguar dónde está mi archivo de registro es en realidad como "registro/production.log" parece estar vacío:Ubicación del archivo Heroku production.log

C:\>heroku console 
Ruby console for ajpbrevx.heroku.com 
>> files = Dir.glob("*") 
=> ["public", "tmp", "spec", "Rakefile", "doc", "config.ru", "app", "config", "lib", "README", "Gemfile.lock", "vendor", "script", "Gemfile", "log"] 
>> files = Dir.glob("log/*") 
=> ["log/production.log"] 
>> log_file = File.open("log/production.log", "r") 
=> #<File:log/production.log> 
>> log_file.each_line { |line| puts line } 
=> #<File:log/production.log> 
>> log_file.lstat.size 
=> 0 

sé que tengo un archivo de registro completo como cuando lo haga:

heroku logs 

todo está en la lista, entonces ¿por qué log/production.log no contiene nada? ¿Debo presentar un ticket con Heroku?

Gracias. El tuyo en confusión, James

Respuesta

4

El registro de complemento heroku: ampliado ya no existe. Algunas gemas enmascaran la salida del registrador también, así que en busca de respuestas que trabajan ver this slightly more recent stack overflow post

En resumen, la solución mejor es añadir lo siguiente a su archivo config/production.rb:

config.logger = Logger.new(STDOUT) 
config.logger.level = Logger.const_get((ENV["LOG_LEVEL"] || "INFO").upcase) 

Entonces, una vez que' he llevado eso a heroku, puedes ver todo el registro tal como sucede con el siguiente comando:

heroku logs --tail 
+0

esto es exactamente lo que estaba buscando. Gracias. –

7

Los registros de Heroku se almacenan usando logplex. Puede leer más sobre cómo funciona el sistema de registro here pero en términos de esta pregunta no escriben en su archivo production.log en su aplicación porque Heoku quiere mantener la base de código de la aplicación lo más pequeña posible.

Si quiere ver todos sus registros, necesita drain a una fuente externa.

Pero para la observación de su aplicación y la depuración se puede leer hasta 500 líneas o --tail sus registros como:

heroku logs -n 500 
heroku addons:upgrade logging:expanded 
heroku logs --tail 
+0

Nice. Gracias Codeglot. nótese bien. para otros, deberá 'verificar' su cuenta de Heroku para obtener el complemento de registro expandido (gratuito), ingresando los detalles de su tarjeta de crédito. Heroku no te cobra ningún dinero. – AJP

+1

¿Alguien sabe una respuesta actualizada a esto? el complemento ya no existe y necesito ver el resultado de desarrollo/producción.log para depurar mi implementación. – MBHNYC

+0

@MBHNYC ver la respuesta del usuario208769 arriba. – AJP

0

También me gustaría recomendar el uso Loggly (encontrarla en la sección Módulos complementarios en Heroku) - Soy un usuario reciente de Heroku, así que no sé si se agregó Loggly después de estas publicaciones, pero definitivamente es una alternativa mucho más elegante, más útil, que los registros de tuberías a través de la consola.

Cuestiones relacionadas