我已經爲我的Rails應用程序嘗試了這3種託管方法,無論我做什麼,在生產環境中運行時都無法獲得一致的日誌記錄。Rails 3.2.1登錄Passenger,Thin或Unicorn
對於我的測試,我創建了一個空白的應用程序,並試圖訪問根目錄。然後我會添加一個用戶腳手架並耙數據庫。
如果我將RAILS_ENV開發,日誌/ devlopment.log工作得很好,記錄下我所期望的一切。
當我將RAILS_ENV轉換爲生產時,log/production.log以一種奇怪的方式登錄。在Passenger中,我得到第一個路由錯誤。然後沒有。當我重新啓動apache或nginx時,我會得到自從第一個(已記錄的)路由以來導致的所有路由錯誤,然後在重新啓動底層服務器之前,日誌將無法寫入任何新東西。如果我有配置問題,apache2/error.log會被記錄到。然後它只記錄緩存未命中
使用瘦和獨角獸,我只會收到關於靜態資產的錯誤(我沒有預先編譯資產)。一旦我預編譯了資產,就不會再出現日誌消息。
在所有3個設置中,我將在production.log中顯示預編譯消息(當我運行assets:precompile時)(表示Rails至少可以寫入日誌)。
有沒有人有Rails 3.2.1應用程序運行在部署寶石(乘客,精簡或獨角獸)之一,正確地記錄在生產模式?我花了5天的時間來處理這個問題。我沒有想法。