Je suis en train de déployer une application Sinatra en utilisant des passagers. L'application déployée fonctionne, mais pas entièrement: certains chemins fonctionnent bien, d'autres rendent simplement une page vierge. Je ne peux pas sembler trouver des différences majeures entre les routes qui fonctionnent et les routes qui ne sont pas, et je ne peux pas sembler traquer des erreurs ..Problèmes de débogage de l'application Sinatra en production
Handlers
Je définis les NOT_FOUND et gestionnaires erreur comme suit:
not_found do
'404. Bummer!'
end
error do
'Nasty error: ' + env['sinatra.error'].name
end
ces belles de travail sur ma machine locale, à la fois dans le développement et la production, mais je ne vois jamais ceux-ci viennent sur le serveur.
Journaux Apache
Quand je queue de access.log d'Apache et a frappé l'un des chemins cassés, je vois 500:
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"
rack_hoptoad
J'ai aussi installé et configuré rack_hoptoad middleware dans mon config.ru, mais aucune exception ne le rend à hoptoad.
# Send exceptions to hoptoad
require 'rack_hoptoad'
use Rack::HoptoadNotifier, 'MY_API_KEY'
vous connecter
J'ai mis en place la connexion comme si ..
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
Cette configuration me permet d'appeler logger.info au sein de mes routes, qui travaille localement et sur le serveur pour les routes de travail, mais les chemins cassés ne sont pas assez loin pour appeler logger.info.
Que faire?
Des idées sur la façon dont je peux voir ce qui cause les erreurs 500? Merci pour toute aide!
« Stackies »? :-) – SLaks
+1 pour Stackies! – DigitalRoss
Avez-vous essayé des applications simples sur httpd? comme une application «Comment bas monde». juste obtenir '/' faire; 'How low world'; fin Au premier coup d'oeil, puis à côté de vos applications. S'il vous plaît vérifier vos applications simples sur httpd et le fichier de configuration. En passant, je pense que vous ne pouvez pas obtenir des logs https sur sinatra. – tknv