通常,在rails應用程序中,編寫puts
或Rails.logger
將數據輸出到控制檯。然而,出於某種原因,當你介入lib
中的代碼時,寫入這些流的任何內容都會被「吞下」或者什麼 - 也就是說,它不會在stdout
上!任何調試的策略?調試lib中的東西
謝謝,
通常,在rails應用程序中,編寫puts
或Rails.logger
將數據輸出到控制檯。然而,出於某種原因,當你介入lib
中的代碼時,寫入這些流的任何內容都會被「吞下」或者什麼 - 也就是說,它不會在stdout
上!任何調試的策略?調試lib中的東西
謝謝,
記錄器在lib文件夾中的類中正常工作。所有lib/*內容不會自動重新加載,因此請確保在插入Rails.logger行後重新啓動服務器。
您可能是ActiveSupport::BufferedLogger
的受害者,它會緩存日誌輸出並在請求時刷新它。因爲你沒有要求它在你的lib
文件中做這件事(提示:它會自動在控制器/模型中/在請求中使用),那麼它就不會。
你需要做的就是告訴它你想,無論你需要做的是:
Rails.logger.auto_flushing = true
然後就可以調用其他方法Rails.logger
你的心臟的內容。
我認爲這是事實!我會試試看看我正在考慮轉移到Log4r上會發生什麼...... – 2011-05-11 16:14:12