2015-10-08 74 views
1

我使用開箱即用的Bluemix Ruby buildpack。 我添加一些放線在我的主* .RB文件,但拖尾登錄時會出現什麼:如何在Bluemix上使用Ruby寫入stdout?

cf logs myapp 

搜索的文檔,我發現在developerWorks的this帖子裏建議設置爲運行發展方式。

我曾嘗試用:

cf set-env myapp RAILS_ENV development 

,也增加了代碼:

ENV['RAILS_ENV'] = 'development' 

,但沒有出現在日誌中。

也試過西納特拉選擇用同樣的結果(更改代碼後):

set :environment, :development 
set :logging, true 

一個有趣的事情是,如果我停止應用程序,然後我所有的看跌期權致命SignalException的堆棧跟蹤後出現: SIGTERM錯誤。這似乎是緩衝區衝突爭論或類似的東西?

有什麼建議嗎?謝謝!

回答

3

您可以將下面的行添加到您的config.ru文件。這將禁用緩存到標準輸出,並允許您的puts命令stdout在日誌輸出中正確顯示。

$stdout.sync = true 

請參閱What STDOUT.sync = true means?的答案,瞭解有關puts緩衝區的更多詳細信息。

+0

非常感謝。我沒有意識到這一點...工作得很好。 –

相關問題