2013-10-01 31 views
1

我在Heroku上運行工作人員dyno,它使用rufus-scheduler來完成一些工作。可靠的Heroku控制檯日誌記錄

在工作過程中,它會將一些消息記錄到控制檯(使用簡單的放入),但是這些消息只能不可靠地傳輸到Heroku日誌和Logentry等附件中。

當我重新啓動測試儀時,所有丟失的控制檯消息都在控制檯上打印,然後過程退出。 這種行爲與某些緩衝有關嗎?我怎樣才能繞過這個? 或者它是否與rufus-scheduler產生線程中的工作有關?

我已經閱讀了有關選項的一些信息,以防止在Heroku文檔中針對基於Rack的應用程序進行緩衝,但對於工作人員dynos則不適用。

問候斯特凡

回答

1

剛看完https://devcenter.heroku.com/articles/logging#writing-to-your-log

我猜你只是寫到控制檯。您是否嘗試添加

$stdout.sync = true 
$stderr.sync = true # eventually 

到您的config.ru或在您的應用程序的頭部?

而是全球同步設置爲true,你也可以嘗試每件記錄後做

puts "logging... hello world..." 
puts "oh and, this is what happened" 
$stdout.flush 

沖洗,但是這是無聊。

如果您沒有這樣記錄,請在您的問題中解釋,並且不要指望讀者的占卜能力。

+1

謝謝,我會盡力的!對不起,我錯過了,包括我在我的代碼中使用簡單的'puts'。 – stefankolb

相關問題