【问题标题】:Configure Rails logger to swallow exceptions配置 Rails 记录器以吞下异常
【发布时间】:2011-12-19 18:01:38
【问题描述】:

昨晚云神将我们的磁盘设置为只读大约两个小时,我们的 Rails 应用程序由于写入 app/production.log 的错误而停机。

有没有办法配置或以其他方式让 Rails 记录器在未来吞下此类异常?

我宁愿在不记录请求的情况下提供请求,也不愿抛出错误而不提供任何服务。

【问题讨论】:

  • 如果不使用记录器,您的应用程序可以在只读磁盘上运行吗?就是这样
  • 数据库通常位于单独的系统上,因此可以正常工作。
  • 我很好奇这与 Heroku 有什么关系?

标签: ruby-on-rails logging heroku


【解决方案1】:

您可以使用this 之类的东西,或者用它来编写自己的记录器(甚至是noop 记录器),创建一个实例,然后将其分配给Rails.logger

【讨论】:

  • 编写我自己的默认 Rails 记录器的子类来处理这个异常可以正常工作,感谢您的建议。
【解决方案2】:

如果您只想终止日志记录而不需要修补应用程序,那么您可能会很幸运:

ln -s /dev/null log/production.log

这应该可以通过将其放入比特桶中来结束所有日志记录。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2010-11-01
    • 2018-08-25
    • 2018-05-26
    • 2012-03-06
    相关资源
    最近更新 更多