El problema es que Unicorn por defecto no loguea a STDOUT >> sino al archivo de log (ej. log/production.log) lo cual en Heroku es lo mismo que decir no hay logs, ya que no hay sistema de archivos.

De hecho Rails mismo no loguea más que a estos archivos, pero la mayoría de los servidores – o por lo menos Webrick, que es rails s por defecto – en cada request copian a STDOUT. Bueno, éste no.

Para que los logs de Rails aparezcan, entonces, hay que indicarles que deben salir por STDOUT, lo cual puede configurarse en config/environments/production.rb (u otro)

# Use a different logger for distributed setups.
# config.logger = ActiveSupport::TaggedLogging.new(SyslogLogger.new)
config.logger = Logger.new(STDOUT)
config.logger.level = Logger.const_get(
ENV['LOG_LEVEL'] ? ENV['LOG_LEVEL'].upcase : 'INFO'
)

nótese que por defecto el log level es INFO, ya que éste es el nivel a partir de cual se debe comenzar a reportar en prod (sin queries ni material de debug, por ej.)

mejor fuente >>

Este sitio utiliza cookies.    Leer más