Estoy implementando una aplicación Sinatra con pasajero. La aplicación implementada está funcionando, pero no del todo: algunos caminos funcionan bien, otros simplemente muestran una página en blanco. Parece que no puedo encontrar ninguna diferencia importante entre las rutas que funcionan y las rutas que no lo hacen, y me parece que no puede localizar a cualquier error ..Problemas para depurar la aplicación Sinatra en producción
Manipuladores
he definido los not_found y manejadores de error de la siguiente manera:
not_found do
'404. Bummer!'
end
error do
'Nasty error: ' + env['sinatra.error'].name
end
estos funcionan bien en mi máquina local, tanto en el desarrollo y la producción, pero nunca veo estos vienen en el servidor.
los registros de Apache
Cuando access.log y de que la cola de Apache golpeó a uno de los caminos rotos, veo un 500: rack_hoptoad
helpers [27/Oct/2009:15:54:59 -0400] "GET /admin/member_photos/photos HTTP/1.1" 500 20 "-" "Mozilla/5.0 (Macintosh; U; Intel Mac OS X 10.6; en-US; rv:1.9.1.3) Gecko/20090824 Firefox/3.5.3"
También he instalé y configuré el middleware rack_hoptoad en mi config.ru, pero no hay excepciones en hoptoad.
# Send exceptions to hoptoad
require 'rack_hoptoad'
use Rack::HoptoadNotifier, 'MY_API_KEY'
registro
He creado el registro como tal ..
set :raise_errors => true
set :logging, true
log = File.new("log/sinatra.log", "a+")
STDOUT.reopen(log)
STDERR.reopen(log)
require 'logger'
configure do
LOGGER = Logger.new("log/sinatra.log")
end
helpers do
def logger
LOGGER
end
end
Esta configuración permite que llame a logger.info dentro de mis rutas, que funciona a nivel local y en el servidor para las rutas de trabajo, pero las rutas rotas no llegan lo suficientemente lejos como para llamar a logger.info.
¿Qué hacer?
¿Alguna idea sobre cómo puedo ver qué está causando los 500 errores? ¡Gracias por cualquier ayuda!
"Stackies"? :-) – SLaks
+1 para Stackies! – DigitalRoss
¿Intentaste aplicaciones simples en httpd? como una aplicación 'How low world'. acaba de obtener '/' hacer; 'How low world'; end Primero compruebalo y luego sigue con tus aplicaciones. Por favor, compruebe sus aplicaciones simples en httpd y archivo de configuración. por cierto, creo que no puedes obtener algunos registros de https en sinatra. – tknv