Screen_Shot_2014-05-30_at_1.37.33_PM

智能工程博客

在Heroku上从Rake任务和Rails控制台捕获日志

发布的杰里米雷德本》

2013年7月8日下午1:41:00

Capturing-Logs-from-Rake-Tasks-and-Rails-Console-on-Heroku今天快一点,但希望对其他人有用,因为它浪费了我们几个小时的时间。在Salsify,我们一直使用Rake任务来处理一些一次性的数据迁移。但是,当我们包含的许多日志语句没有显示在日志中时,我们就遇到了麻烦。我们使用PaperTrail但经过一些挖掘后发现,这也适用于Heroku的基础日志(至少在雪松堆栈上)。

我们联系了Heroku的支持部门,他们的回应是这个问题很可能是由于Rails的日志缓冲。在追踪了一段时间后,我发现问题实际上是Heroku记录的一次性的dynos将其输出记录到控制台,因此只有启动和关闭才会显示在日志中。这意味着在Heroku上运行时,Rake任务或控制台会话中的任何日志语句本质上都消失得无影无踪。

幸运的是,至少对于Rake任务来说,有一个解决方案。如果你改变heroku运行rakeheroku运行:分离耙您将在分离模式下运行,日志将显示出来。不幸的是,我们还没有找到任何从控制台会话中捕获日志的解决方案,因此任何指针都将非常受欢迎。

评论的Disqus

最近的帖子

    Baidu