Sinatra - 如何在线进行调试?

时间:2009-12-07 20:48:46

标签: ruby apache sinatra passenger dreamhost

我写了一个很小的Sinatra应用程序,在本地运行良好,但出于某种原因,只要我把它放在网上,我得到的就是'内部服务器错误'。

如何获取日志输出?

我使用instructions from the Sinatra book与乘客一起在Dreamhost上运行。

所以我添加了更多处理程序:

get '/hello/:name' do
  "Hello, #{params[:name]}!"
end

get '/nokogiri-test/' do
  doc = Nokogiri::HTML(open('http://www.google.co.il/search?q='+params[:query]))
  res = ''
  doc.xpath('//li//h3//a').each do |li|
    res+= li.content + '<br />'
  end
  res
end

第一个工作正常,第二个抛出错误。 我对为什么会有错误不感兴趣。我对如何获得反馈并在将来解决错误感兴趣。

2 个答案:

答案 0 :(得分:3)

啊!答案来自here

永远不会想到那里,但我绝望了。解决方案是将环境设置为:development:

set :environment, :development

我把它粘贴到我的配置文件中,它产生了所有的错误输出。 如果我想在PRODUCTION应用程序中发现导致错误的原因,仍然无法解决我的问题... 那我该如何解决呢?

答案 1 :(得分:0)

如果您看到apache的内部服务器错误消息,您应该能够检查apache错误日志以找出正在发生的事情。我认为在dreamhost上日志文件存储在/home/your_user_name/logs/yourdomain.com/http/error.log