2012-07-19 37 views
3

我在我的Rails應用程序做這個記錄一些錯誤:查找Heroku的日誌特定字符串

logger.error "MY ERROR STRING" 

我怎麼能看在Heroku的日誌,找到該行?

我知道如何去做heroku logs --tailheroku logs -n 500,但是我怎樣才能在日誌中找到一個特定的字符串呢?

回答

5

使用heroku logs -t | grep "term"是偉大的篩選當前日誌事件。但是,日誌輸出的Heroku retains a max of 1500 lines,所以即使您執行了heroku logs -n 1500 -t,也不會在該日誌窗口之前看到發生的日誌事件。

更好的方法是使用像Papertrail這樣的日誌插件,它可以在更長的時間內保留您的日誌,並使您可以搜索完整的日誌歷史記錄。

當然,您認爲在您的代碼中觸發的日誌事件也可能不是。

+0

+1爲Papertrail 。 – 2012-07-20 02:35:44

+0

如何解決相同目的'heroku logs -t | grep「term」'使用Windows'FINDSTR'命令? – manurajhada 2016-12-20 18:12:54

+0

要用戶使用windows grep,安裝grep軟件,並將grep路徑添加到本地環境變量 – 2017-11-01 15:27:54

2

嘗試把| grep "search term"heroku logs -n 500語句後

所以像:heroku logs -n 500 | grep "MY ERROR STRING"

+0

我還是沒有看到它。是否需要配置能夠查看Heroku中logger.error填充的日誌? – 2012-07-19 17:53:50

+0

這隻會搜索你最直接的日誌。如果這個日誌輸出最近沒有發生,你將不會看到這種方法。 – 2012-07-19 18:25:53

+0

那麼在他的例子中,他只是在尋找最後的500個條目或拖尾,所以我認爲他正在尋找最近的日誌 – Luke 2012-07-19 18:27:37

相關問題