Синатра - как мне отладить его, когда он в сети?

Я написал крошечное крошечное приложение Sinatra, которое отлично работает локально, но по какой-то причине, как только я выложил его в сеть, все, что я получил, это "Внутренняя ошибка сервера".

Как я могу получить вывод журнала?

Я бегу на 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 ответа

Решение

Ах! Ответ приходит отсюда.

Никогда бы не подумал заглянуть туда, но я отчаялся. Решение состоит в том, чтобы настроить среду:development:

set :environment, :development

Я вставил это в мои файлы конфигурации, и он выдал все сообщения об ошибках. Все еще не решает мою проблему, если я когда-нибудь захочу выяснить, что вызывает ошибку в приложении PRODUCTION... Так, как бы я решил это?

Если вы видите сообщение об ошибке внутреннего сервера apache, вы сможете проверить журнал ошибок apache, чтобы узнать, что происходит. Я думаю на Dreamhost файл журнала хранится в /home/your_user_name/logs/yourdomain.com/http/error.log

Другие вопросы по тегам