2017-05-08 89 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的日志记录插件之一,归档和等。

相关问题