在heroku上查看rails4 db日志

Posted

技术标签:

【中文标题】在heroku上查看rails4 db日志【英文标题】:View rails4 db log on heroku 【发布时间】:2014-04-12 01:11:12 【问题描述】:

我在 cedar 堆栈上运行了一个 heroku 应用程序(在生产环境中)。它使用 postgres 数据库。

在我的 environment/productions.rb 文件中,我已经注释掉了这一行

# config.log_level = :info

在 Heroku 我有这个配置

$> heroku config
=== xxxx Config Vars
LOG_LEVEL:                    debug
RAILS_ENV:                    production

我想查看所有被执行的数据库查询。在本地的开发环境中,我可以看到这样的日志:

User Load (0.4ms)  SELECT "users".* FROM "users" WHERE "users"."email" = 'xyz@gmail.com'   AND "users"."ustatus" IN (10, 11) LIMIT 1

但在heroku logs 上,它们从未出现。有人知道如何在heroku上启用数据库登录吗?

【问题讨论】:

【参考方案1】:

编辑:我刚刚发现了为什么 heroku 在应该根据您的生产时不显示查询日志。 rb配置。问题是如果您有所谓的爱好层计划,heroku 将不会显示查询。您可能正在使用免费版本,这可以解释您的查询未显示的原因。如果您要升级到标准或中等计划,heroku 日志将显示执行的查询。

这篇 heroku 文章明确表示在爱好层级不会显示 postgres 日志:https://devcenter.heroku.com/articles/heroku-postgres-plans#hobby-tier

【讨论】:

你投反对票了吗?如果是这样,请您详细说明。【参考方案2】:

您可以通过运行以下命令从 heroku 上的 rails 控制台获取日志:

$ heroku run rails c
File.open('log/production.log', 'r').each_line  |line| puts line 

我在这里找到的

heroku - how to see all the logs

这里还有 heroku 日志记录文档:

https://devcenter.heroku.com/articles/logging

【讨论】:

这不起作用。即使在那个 SO 中,您也可以看到写了一条评论,因为它现在不起作用。 SO问题的答案很旧,不再相关。这现在不适用于雪松堆栈。 通常我会通过在 heroku logs 命令中添加 --tail 来查看我的日志,即 $> 'heroku logs --tail' Sumit,如果您仔细阅读我的问题,那么您会发现,我要求的是 Db 日志。这没有出现在heroku logs -t @jvk,给你..***.com/questions/8031007/…【参考方案3】:

自己做所有事情:

  heroku run bash

【讨论】:

以上是关于在heroku上查看rails4 db日志的主要内容,如果未能解决你的问题,请参考以下文章

Heroku:执行查询但没有 postgresql 日志

Heroku/Rails/Devise:你想要的改变被拒绝了

如何通过查看Heroku日志进行调试? (RoR的初学者)

Heroku 获取特定日期的日志

Rails 4 Heroku 资产:预编译失败

Heroku 没有连接到 Mongo Atlas DB?