2012-11-12 44 views
2

我有一個名爲staging的應用程序的自定義環境。由於某些原因,不會創建staging.log文件,並且我假設要寫入的所有內容都顯示在nginx error.log文件中。有沒有我錯過的配置選項?定製rails環境日誌寫入nginx error.log

+1

可能;還要檢查通常創建日誌的目錄的權限,它應該可以由用戶以rails的身份運行。 – vladr

+0

我檢查了權限,他們看起來很好。同一文件夾中的new_relic.log和delayed_job.log文件具有相同的權限。 :( – jerhinesmith

回答

0

嘗試添加類似

c = ActiveSupport::BufferedLogger.new("log/staging.log") 
c.auto_flushing = true 
config.logger = c 

config/environments/staging.rb 你也或許應該auto_flushing選項玩,軌道引導有關configuration說,它關閉生產ENV,我不知道爲什麼。請參閱BufferedLogger文檔here。 它看起來並不像我完美的解決方案,但看起來像它的作品。

3

這是個老問題了編譯,但我只是碰到了同樣的問題,想分享什麼固定它,我的情況下,它可以幫助任何遇到此問題的人。

在我的情況下,我使用的是rails_12factor gem(因爲我的應用程序部署在Heroku上),導致所有日誌都轉到stdout。這導致所有這些都被轉儲到nginx_error.log中。我能夠徹底刪除gem來修復它,因爲我不再使用Heroku來作爲應用程序,但是如果您需要支持Heroku部署,則可以添加某種配置,以便在該上下文中只需要rails_12factor。