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 >>