Синатра – как мне отладить его, когда он онлайн?
Вопрос
Я написал крошечное приложение 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
Первый работает нормально, второй выдает ошибку.Меня не интересует, почему возникает ошибка.Меня интересует, как получить обратную связь по нему и устранить ошибки в будущем.
Решение
Ах!Ответ исходит от здесь.
Никогда бы не подумал заглянуть туда, но я отчаялся.Решение состоит в том, чтобы установить среду :development:
set :environment, :development
Я вставил это в свои файлы конфигурации, и он выдал все ошибки.Все равно это не решит мою проблему, если я когда-нибудь захочу выяснить, что вызывает ошибку в ПРОИЗВОДСТВЕННОМ приложении...Так как бы мне это решить?
Другие советы
Если вы видите сообщение о внутренней ошибке сервера Apache, вы сможете проверить журнал ошибок Apache, чтобы узнать, что происходит.Я думаю, что на Dreamhost файл журнала хранится в /home/your_user_name/logs/yourdomain.com/http/error.log