Sinatra - ¿Cómo depurar él cuando está en línea?
Pregunta
Me escribió una pequeña aplicación que acabas Sinatra que funciona muy bien, a nivel local, pero por alguna razón en cuanto me puse en línea, todo lo que consigo es 'Error interno del servidor'.
¿Cómo consigo la salida de registro?
Estoy corriendo en Dreamhost con pasajeros, utilizando los href="http://www.sinatrarb.com/book.html#deployment_passenger" rel="nofollow noreferrer"> instrucciones .
Así que he añadido a más manejadores:
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
La primera de ellas funciona bien, el segundo genera un error. No estoy interesado en saber por qué hay un error. Estoy interesado en la forma de obtener retroalimentación para ello y resolver errores en el futuro.
Solución
Ah! La respuesta viene de aquí .
Nunca habría pensado que mirar ahí, pero tengo desesperada. La solución es establecer el entorno para: el desarrollo:
set :environment, :development
Me pegué que en mis archivos de configuración y produjo toda la salida de error. Todavía no resuelve mi problema si alguna vez quiero descubrir qué está causando un error en una aplicación de producción ... Entonces, ¿cómo iba a resolver ese?
Otros consejos
Si usted está viendo un mensaje de error interno del servidor de Apache, debería ser capaz de verificar el registro de errores de Apache para averiguar lo que está pasando. Creo que en dreamhost el archivo de registro se almacena en /home/your_user_name/logs/yourdomain.com/http/error.log