我正在尝试设置新的Bonsai ElasticSearch heroku附加组件,但直到现在我才能在我的本地开发机器上运行搜索,只要在Heroku上部署相同搜索失败,或者更好,Rails记录器不会记录任何内容,但我会收到500内部服务器错误。这是在查询失败期间相关的Heroku日志(没有发现明显的错误):https://gist.github.com/2867221在Heroku上用轮胎和盆景部署ElasticSearch
我正在寻找一些关于如何排除故障的建议。例如,我在盆景初始化配置/初始化/ bonsai.rb设置Tire.configure { logger 'elasticsearch.log', :level => 'debug' }
类似如下:
Tire.configure { logger 'elasticsearch.log', :level => 'debug' }
if ENV['BONSAI_INDEX_URL']
Tire.configure do
url "http://index.bonsai.io"
end
BONSAI_INDEX_NAME = ENV['BONSAI_INDEX_URL'][/[^\/]+$/]
else
app_name = Rails.application.class.parent_name.underscore.dasherize
app_env = Rails.env
BONSAI_INDEX_NAME = "#{app_name}-#{app_env}"
end
但它记录在一个文件中,这是个好地方,但部署后无法访问。
Bonsai ElasticSearch是一个新的测试插件,所以我想知道你们中的某个人是否已经有一些成功的经验在Heroku上使用,并且可以给我一个反馈和一些建议。
UPDATE
设置记录器记录器$标准输出:水平=> '调试' 到Tire.configure终于而它的失败搜索的Heroku可以登录的东西:
2012-06-04T21:36:26+00:00 heroku[router]: GET gitwatcher.com/categories?utf8=%E2%9C%93&query=Asynchronous+Web+Frameworks dyno=web.1 queue=0 wait=0ms service=32ms status=500 bytes=728
2012-06-04T21:36:26+00:00 heroku[nginx]: 93.34.212.216 - - [04/Jun/2012:21:36:26 +0000] "GET /categories?utf8=%E2%9C%93&query=Asynchronous+Web+Frameworks HTTP/1.1" 500 728 "http://gitwatcher.com/categories" "Mozilla/5.0 (X11; Ubuntu; Linux i686; rv:12.0) Gecko/20100101 Firefox/12.0" gitwatcher.com
2012-06-04T21:36:26+00:00 app[web.1]: # 2012-06-04 21:36:26:387 [_search] (["123456789"])
2012-06-04T21:36:26+00:00 app[web.1]: #
2012-06-04T21:36:26+00:00 app[web.1]: curl -X GET "http://index.bonsai.io/123456789/category/_search?load=true&pretty=true" -d '{"query":{"query_string":{"query":"Asynchronous Web Frameworks"}}}'
2012-06-04T21:36:26+00:00 app[web.1]:
2012-06-04T21:36:26+00:00 app[web.1]: # 2012-06-04 21:36:26:387 [200] (1 msec)
2012-06-04T21:36:26+00:00 app[web.1]:
...请查看更多对问题打开https://github.com/karmi/tire/issues/365
可怕的,但你应该能够用撬棍'Tire.configure {@Logger = Rails的一个记录它.logger}' –
似乎Heroku不喜欢那种方式:看日志https://gist.github.com/2869863 –
我的错误 - 忘记了轮胎的记录器类不是标准的红宝石记录器类。 Heroku应该记录你的stdout/stderr给你,所以我会尝试Tire.configure {logger $ stdout} –