我有一個名爲staging的應用程序的自定義環境。由於某些原因,不會創建staging.log文件,並且我假設要寫入的所有內容都顯示在nginx error.log文件中。有沒有我錯過的配置選項?定製rails環境日誌寫入nginx error.log
2
A
回答
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。 它看起來並不像我完美的解決方案,但看起來像它的作品。
0
在nginx的記錄您有:
- 的
error_log
指令,見http://nginx.org/en/docs/ngx_core_module.html#error_log - 的
acces_log
指令,見http://nginx.org/en/docs/http/ngx_http_log_module.html#access_log
有一個疑難雜症與error_log
:
如果您已將它設置爲debug
,而您的nginx不是使用--with-debug
標誌編譯的,它將轉入默認的error.log位置。
檢查,如果你的標誌你的nginx與使用nginx -V
命令
3
這是個老問題了編譯,但我只是碰到了同樣的問題,想分享什麼固定它,我的情況下,它可以幫助任何遇到此問題的人。
在我的情況下,我使用的是rails_12factor gem(因爲我的應用程序部署在Heroku上),導致所有日誌都轉到stdout。這導致所有這些都被轉儲到nginx_error.log中。我能夠徹底刪除gem來修復它,因爲我不再使用Heroku來作爲應用程序,但是如果您需要支持Heroku部署,則可以添加某種配置,以便在該上下文中只需要rails_12factor。
相關問題
- 1. Rails - Elastick Beanstalk nginx/error.log
- 2. 無法通過Passenger/Nginx強制Rails進入生產環境
- 3. Rails和memcached在日誌環境中
- 4. Nginx的Rails多級環境
- 5. 在Ubuntu 12.04 for Rails 3.2.8環境下設置Nginx和Passenger環境
- 6. 訪問nginx入口控制器錯誤日誌
- 7. nginx error.log不是目錄
- 8. 寫入HTTP 401,404,500對nginx錯誤日誌而不是訪問日誌的響應
- 9. 從控制檯Shell寫入日誌
- 10. 從寫入事務日誌複製嗎?
- 11. 修昔底德日誌 - 將我的日誌寫入控制檯
- 12. Rails的自定義記錄程序寫入日誌偶爾
- 13. Rails測試環境中的DB日誌記錄
- 14. Ruby on Rails:生產環境的詳細錯誤日誌
- 15. SLF 4J日誌不會寫入日誌
- 16. 無法事件日誌寫入指定的日誌
- 17. Nlog Concat寫入特定日誌
- 18. Hadoop日誌 - 環境變量的值HADOOP_LOG_DIR?
- 19. PHP error_log(「Message」);不寫入日誌
- 20. 禁用nginx日誌
- 21. 將錯誤寫入錯誤日誌
- 22. nginx日誌記錄$ request_body十六進制
- 23. log4j-Logger未寫入日誌文件
- 24. Symfony定製環境
- 25. 解析nginx入口日誌fluentd
- 26. Nginx的訪問日誌文件路徑
- 27. 僅在開發環境中使用角控制檯日誌
- 28. 從Mod_Wsgi寫入Apache error.log文件
- 29. 將主機RMF3日誌導入Hadoop環境
- 30. 寫入日誌文件
可能;還要檢查通常創建日誌的目錄的權限,它應該可以由用戶以rails的身份運行。 – vladr
我檢查了權限,他們看起來很好。同一文件夾中的new_relic.log和delayed_job.log文件具有相同的權限。 :( – jerhinesmith