Ruby on rails 使用heroku登录(rails应用程序)
应用程序使用的gem正在生成到/var/log/project\u name的日志 本地看起来一切正常,只需创建文件夹并添加一些权限即可 当我尝试在heroku上创建相同的文件夹时,我得到以下结果:Ruby on rails 使用heroku登录(rails应用程序),ruby-on-rails,logging,heroku,Ruby On Rails,Logging,Heroku,应用程序使用的gem正在生成到/var/log/project\u name的日志 本地看起来一切正常,只需创建文件夹并添加一些权限即可 当我尝试在heroku上创建相同的文件夹时,我得到以下结果: heroku run bash ~ $ mkdir /var/log/project_name mkdir: cannot create directory ‘/var/log/project_name’: Read-only file system 我可以将dir改为log到代码所在的同一文件夹
heroku run bash
~ $ mkdir /var/log/project_name
mkdir: cannot create directory ‘/var/log/project_name’: Read-only file system
我可以将dir改为log到代码所在的同一文件夹,但使用heroku保存一些日志文件的正确方法是什么?heroku似乎不允许写入文件系统,因为他们正在使用dynos: 默认情况下,Rails将其日志写入一个文件,这很方便,因为您只有一个日志文件要跟踪。当你开始将你的应用扩展到多台机器或dyno时,发现单个请求或失败会变得更加困难,因为它们分布在多个文件中。如果硬盘驱动器已满,在磁盘上存储日志也会导致服务器停机。由于这些限制,我们交谈过的每个Rails核心成员都使用一个自定义记录器来替换Rails的默认功能。通过与Heroku一起使用rails\u stdout\u logging gem,我们为您设置了记录器。 对我来说,最好的选择是流式传输到标准输出,并使用一个heroku日志插件进行归档等等