Wdrażam aplikację Sinatra za pomocą pasażera. Wdrożona aplikacja działa, ale nie całkiem: niektóre ścieżki działają dobrze, inne po prostu renderują pustą stronę. I nie wydaje się znaleźć żadnych istotnych różnic między drogami, które pracują i tras, które nie, i nie wydaje się wytropić żadnych błędów ..Problemy z debugowaniem aplikacji Sinatra w produkcji
Rączki
Mam zdefiniowane z NOT_FOUND i błędów koparki w następujący sposób:
not_found do
'404. Bummer!'
end
error do
'Nasty error: ' + env['sinatra.error'].name
end
Działają one dobrze na moim komputerze lokalnym, zarówno w rozwoju i produkcji, ale nigdy nie zobaczyć te pojawią się na serwerze.
Apache Dzienniki
Kiedy access.log a ja ogon Apache uderzyć jednego z rozbitych ścieżek, widzę 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
Ja również Zainstalowałem i skonfigurowałem oprogramowanie pośredniczące rack_hoptoad w moim pliku config.ru, ale nie ma wyjątków.
# Send exceptions to hoptoad
require 'rack_hoptoad'
use Rack::HoptoadNotifier, 'MY_API_KEY'
zalogowaniu
Wcześniej skonfigurować zalogowaniu jak tak ..
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
Taka konfiguracja pozwala mi zadzwonić logger.info zasięgu moich trasach, który działa lokalnie i na serwer dla działających tras, ale zepsute ścieżki nie dostają się wystarczająco daleko, aby wywołać logger.info.
Co robić?
Jakieś pomysły, w jaki sposób mogę zobaczyć, co powoduje błędy 500? Dzięki za pomoc!
"Stackies"? :-) – SLaks
+1 dla Stackiesa! – DigitalRoss
Czy próbowałeś prostych aplikacji na httpd? jak aplikacje typu "Jak nisko". po prostu "/" wykonaj; "Jak niski świat", koniec Najpierw sprawdź to, a następnie swoje aplikacje. Sprawdź swoje proste aplikacje na httpd i pliku konfiguracyjnym. przy okazji, myślę, że nie można uzyskać niektórych protokołów https dotyczących sinatry. – tknv