调试生活在lib中的东西

时间:2011-05-11 06:38:29

标签: ruby-on-rails ruby

通常,在rails应用中,将putsRails.logger输出数据写入控制台。但是,出于某种原因,当您介入生成lib的代码时,写入这些流的任何内容都会被“吞噬”或其他内容 - 也就是说,它不会最终出现在stdout上!有没有调试这个的策略?

谢谢,

2 个答案:

答案 0 :(得分:1)

您可能是ActiveSupport::BufferedLogger的受害者,它会缓存日志输出并在被要求时将其刷新。因为你没有要求它在你的lib文件中这样做(提示:它会自动在控制器/模型中执行它/在请求中使用的任何内容),然后就不会这样做。

您需要做的就是告诉它您想在任何需要的地方进行操作:

Rails.logger.auto_flushing = true

然后,您可以将其他Rails.logger方法调用到您心中。

答案 1 :(得分:0)

Logger在lib文件夹中的类中正常工作。但是,所有lib / *内容都不会自动重新加载,因此请确保在插入Rails.logger行后重新启动服务器。