2012-08-15 38 views
3

幫我看看這裏;我一定會錯過一些非常明顯的東西。如何在Heroku上啓用Padrino應用程序的日誌記錄?

我有一個在Heroku上運行的Padrino應用程序。在的boot.rb,在塊傳遞給Padrino.before_load,我有以下行:

Padrino::Logger::Config[:production][:log_level] = :info 
Padrino::Logger::Config[:production][:stream] = :stdout 

,並在app.rb的before塊,我不得不logger.info整個散電話。

這在我的開發機器上記錄到標準狀態。但是,當我檢查我的Heroku日誌:

heroku logs -t -s app 

...我什麼也沒看到(只是從瘦服務器啓動信息的最初3行)。

我錯過了什麼?


澄清響應的一些點culix

  1. 切換到heroku logs -s app應用程序啓動後,我不會改變任何東西。
  2. 我試過安裝​​。這實際上看起來相當不錯!但它仍然沒有我正在尋找的日誌消息。
  3. 這是個好問題!我真的確實只需撥logger.infobefore塊。在完成更新此問題後,我將添加更多日誌記錄並進行檢查。
  4. 現在你問:當我切換到「生產」(在將database.rb改爲指向開發數據庫之後)時,我的應用似乎沒有記錄任何東西。 我想這意味着我只是從根本上配置Padrino日誌不正確。感謝您提出這個問題!
  5. 最新的boot.rb已經提交。
  6. 不會(有意)以任何方式混淆stdout。

顯然,我應該花時間調查的第一件事是上面的#4;這就是我現在要做的。然後,如果它什麼都沒有產生,就到#3。

+0

很高興聽到你有一些線索:)讓我貼! – culix 2012-09-02 18:52:07

回答

2

這裏有一些簡單的問題,只是爲了確保我們已經介紹了基礎知識:

  1. 都在你面前或者您的應用程序開始運行後heroku logs -t?如果你沒有運行,直到之後纔會放下-t開關並運行heroku logs -s app顯示任何東西?

  2. 你有任何syslog drain addons添加到您的應用程序?如果是這樣,他們顯示什麼?如果沒有,請嘗試添加一個並再次運行您的應用程序 - 是否在日誌中顯示任何日誌細節?

  3. 在部署到heroku之後,如果您訪問您的應用的網站並鍛鍊您的應用的頁面,是否顯示其他任何活動的輸出顯示在日誌或系統日誌中?即您是否能夠確認在heroku服務器上運行時,是否存在針對您的應用的所有日誌記錄的問題,而不是在before部分中記錄事件的問題?

  4. 在本地機器上運行時,您的應用程序是否仍然登錄到:production,或者是否在其他地方登錄?即您的應用程序在本地執行的操作與在Heroku機器上運行時相同嗎?您部署的應用程序是否設置爲以不同的Padrino日誌環境運行?

  5. 是你的boot.rb文件的最新版本提交給你推向heroku的git倉庫嗎?如果您在相應的目錄上執行heroku run ls,您是否可以在heroku web dyno上看到該文件?

  6. 作爲最後的手段,你不會做任何與stdout混淆的事情,將輸出或打印語句重定向到其他地方,或者其他什麼,或者你是那種?

+1

這些完全水平的問題讓我發現,即使在本地運行「PADRINO_ENV」設置爲「生產」,我也沒有看到我期望的日誌記錄。這讓我嘗試了其他設置日誌級別的方法,最終我發現,使用適當的設置設置常量「PADRINO_LOGGER」讓我可以在任何想要的地方找到我。謝謝! – 2012-09-04 16:08:55

+0

太棒了!很高興工作! :) – culix 2012-09-04 16:13:46

相關問題