Sinatra和ubuntu上的自定义错误生产

时间:2012-07-06 00:10:07

标签: error-handling sinatra rack production-environment

我正在撕掉我的头发。在我的Mac上,显示自定义漂亮错误,我想显示给我的用户。当我部署到我的ubuntu盒子时,我得到了一个最小的黑白错误消息。

我有sinatra错误处理,就像这样

set :raise_errors, false
set :show_exceptions, false

not_found do
    erb :'errors/not_found'
end

我认为这是因为我在运行nginx和瘦(在ubuntu上)但是如果我绕过这个堆栈并直接运行我仍然在ubuntu上有问题。

ruby start.rb #I get a minimal black and white error

OR

rackup -E production config.ru  #I get a minimal black and white error

OR

rackup -E development config.ru  #I get rack stack trace

我的Mac上出现了相当错误,无论我如何开始,即使我使用Rack :: ShowExceptions。我正在运行ruby 1.9.2和sinatra 1.3.2。

有关如何在生产中向用户提供相当错误的任何线索?

1 个答案:

答案 0 :(得分:0)

好的,经过几周的几次失败尝试来解决这个问题,我意识到我做了一些愚蠢的事情。我在我的生产config.yaml中缺少[email_errors] [to]。这打破了我的error_handler。如果我在我的config.ru中添加'使用Rack :: ShowExceptions'时读到了机架堆栈跟踪,我会看到这个问题,除了我没有看到它,因为error_handler抛出了我期待的错误测试错误。愚蠢的疏忽。