Синатра - как мне отладить его, когда он в сети?
Я написал крошечное крошечное приложение 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