2011-05-11 88 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