如何从heroku中的rails应用程序获取完整的production.log?

Posted

技术标签:

【中文标题】如何从heroku中的rails应用程序获取完整的production.log?【英文标题】:How to get complete production.log from a rails app in heroku? 【发布时间】:2011-03-15 18:27:02 【问题描述】:

我想详细查看我的 production.log,但 heroku 似乎没有存储它们。 有没有其他人有解决这个问题的方法。 把它安全地存放起来会很好。 在此先感谢:)

【问题讨论】:

【参考方案1】:

从 Heroku documentation 您可以看到,当您从控制台读回它们时,它们的日志记录功能仅限于最后 100 行。

如果您需要保留和分析所有生产日志,那么您似乎必须考虑将它们从 Heroku 归档到 S3 或通过 EC2 日志服务器。

【讨论】:

嗯,好吧...但是我怎样才能做到这一点? 哦,我刚刚找到它***.com/questions/2671454/… 感谢 bjg 为我指明了正确的方向 为了完整起见,您可以看到超过 100 行的 heroku 日志 --tail 这不是 OP 所要求的,这只是与“仅限于最后 100 行”有关【参考方案2】:

Heroku logging article 显示您最多可以读取 1500 行日志文件。默认情况下,heroku logs 显示最后 100 行。

heroku logs -n 1500

请注意,Heroku 日志记录使用 Logplex 来合并来自您的应用程序以及来自 Heroku 系统的日志。可以过滤掉系统产生的日志

heroku logs -n 1500 --source app

【讨论】:

【参考方案3】:

这将在 heroku 中工作,从您的终端执行:

heroku logs -n 200

heroku logs -t --app <app_name> > any_file_name

这里的最大 -n 限制为 1500

【讨论】:

以上是关于如何从heroku中的rails应用程序获取完整的production.log?的主要内容,如果未能解决你的问题,请参考以下文章

如何从 Heroku 数据库到我的本地计算机?我有一个 Django 应用程序(不是 Rails)

Heroku 环境中的 Ruby on Rails 应用程序:“使用 Mailgun 发送电子邮件”错误

Rails:使用Heroku时如何获取当前用户的时区

Rails assets_host、cloudfront 和 heroku

如何将选项传递给heroku中的rails控制台

Rails 3 - 获取一个字段的完整错误消息