2017-05-08 98 views
0

應用程序使用的gem正在生成日誌到/ var/log/project_name。使用heroku進行日誌記錄(rails應用程序)

本地所有看起來很好,只需要創建文件夾並添加一些權限。

當我嘗試創建在Heroku上的同一個文件夾,我得到這樣的:

heroku run bash 
~ $ mkdir /var/log/project_name 
mkdir: cannot create directory ‘/var/log/project_name’: Read-only file system 

我可以改變登錄到該代碼是相同的文件夾目錄,但什麼是保存一些正確的方法日誌文件與heroku?

回答

0

似乎像Heroku的不允許,因爲它們與DYNOS工作寫入文件系統:

默認的Rails將日誌寫入一個文件,這是方便,因爲你只能有一個日誌文件尾巴。當您開始將您的應用擴展到多臺機器或dynos時,發現單個請求或故障變得越來越難,因爲它們分佈在多個文件中。將日誌存儲在磁盤上也可以在硬盤驅動器已滿時取下服務器。由於這些限制,我們討論的每個Rails核心成員都使用自定義記錄器來取代Rails的默認功能。通過在Heroku中使用rails_stdout_logging gem,我們爲您設置了記錄器。 https://github.com/heroku/rails_stdout_logging

對我來說,最好的選擇是指向stdout的流,並使用Heroku的日誌記錄插件之一,歸檔和等。

相關問題