2011-05-11 55 views
0

通常,在rails应用程序中,编写putsRails.logger将数据输出到控制台。然而,出于某种原因,当你介入lib中的代码时,写入这些流的任何内容都会被“吞下”或者什么 - 也就是说,它不会在stdout上!任何调试的策略?调试lib中的东西

谢谢,

回答

0

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

1

您可能是ActiveSupport::BufferedLogger的受害者,它会缓存日志输出并在请求时刷新它。因为你没有要求它在你的lib文件中做这件事(提示:它会自动在控制器/模型中/在请求中使用),那么它就不会。

你需要做的就是告诉它你想,无论你需要做的是:

Rails.logger.auto_flushing = true 

然后就可以调用其他方法Rails.logger你的心脏的内容。

+0

我认为这是事实!我会试试看看我正在考虑转移到Log4r上会发生什么...... – 2011-05-11 16:14:12