【问题标题】:Is there a way to log commands from Rails console in Heroku?有没有办法从 Heroku 的 Rails 控制台记录命令?
【发布时间】:2015-05-28 03:13:37
【问题描述】:

您好,我正在使用 Heroku 和 Ruby on Rails。在heroku我可以做

heroku run rails c -a app

这使我可以访问控制台,并且我可以执行管理操作,例如删除记录

我在公司环境中工作,我希望记录控制台中输入的所有命令。因此,如果出现问题,我们可以审核日志。

有没有办法记录在 rails 控制台中输入的内容?

【问题讨论】:

  • 这主要是 Heroku 应该提供的东西,而不是在 Rails 中解决的东西:正如其他人回答的那样:rails 已经记录了这个,只是 Heroku 没有公开这些日志。不过,您可能需要重新考虑解决方案:您是否考虑过编写 rake 任务来执行操作并锁定控制台?如果您需要审核控制台,您可能会以不应该的方式滥用它。

标签: ruby-on-rails ruby heroku


【解决方案1】:

Rails 允许您存储控制台历史记录,但这不会保存在 Heroku 中,至少不会永久保存。

在 Heroku 中,当您运行 heroku run rails console 时,Heroku 将创建一个一次性的测功机,该测功机的使用寿命与控制台会话一样长。 Rails 会将命令历史记录存储在文件系统上,但一旦退出控制台,dyno 将被清理,命令历史记录文件将随之删除。

Rails 控制台是一个Railtie,它有一些生命周期钩子,所以你可以想出一些自定义的方法来持久化命令,但是没有内置的方法来做到这一点。

【讨论】:

    【解决方案2】:

    是的,您现在可以使用 Heroku 的屏蔽私人空间,https://elements.heroku.com/addons/heroku-private-spaces

    【讨论】:

      猜你喜欢
      • 2014-11-25
      • 2012-04-14
      • 2014-09-23
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-03-01
      • 2014-01-04
      • 1970-01-01
      相关资源
      最近更新 更多