Ich führe ein einfaches Django-Projekt auf Heroku. Es funktioniert, aber wenn ich einen Serverfehler erhalte, gibt es mir keine Details in den Protokollen. Dies macht es unglaublich schwer mit Fehlern umzugehen.Heroku-Logs für Django-Projekte fehlende Fehler
Jetzt habe ich einen Staging-Server eingerichtet und es hat das gleiche Problem - die Seiten sind fehlgeschlagen und ich bekomme kein Feedback, warum.
$ Heroku logs
...
2012-08-08T13:55:58+00:00 app[web.1]: Development server is running at http://0.0.0.0:59048/
2012-08-08T13:55:59+00:00 heroku[web.1]: State changed from starting to up
2012-08-08T13:56:01+00:00 heroku[router]: GET [xxx].herokuapp.com/ dyno=web.1 queue=0 wait=0ms service=22ms status=500 bytes=27
2012-08-08T13:56:01+00:00 app[web.1]: [08/Aug/2012 14:56:01] "GET/HTTP/1.1" 500 27
2012-08-08T13:56:02+00:00 heroku[router]: GET [xxx].herokuapp.com/favicon.ico dyno=web.1 queue=0 wait=0ms service=6ms status=500 bytes=27
2012-08-08T13:56:09+00:00 heroku[router]: GET[xxx].herokuapp.com/admin dyno=web.1 queue=0 wait=0ms service=2ms status=301 bytes=0
2012-08-08T13:56:09+00:00 app[web.1]: [08/Aug/2012 14:56:09] "GET /admin HTTP/1.1" 301 0
2012-08-08T13:56:10+00:00 heroku[router]: GET [xxx].herokuapp.com/admin/ dyno=web.1 queue=0 wait=0ms service=224ms status=500 bytes=27
2012-08-08T13:56:10+00:00 app[web.1]: [08/Aug/2012 14:56:10] "GET /admin/ HTTP/1.1" 500 27
2012-08-08T13:56:10+00:00 heroku[router]: GET [xxx].herokuapp.com/favicon.ico dyno=web.1 queue=0 wait=0ms service=6ms status=500 bytes=27
Wie Sie sehen können, Seiten 500 zurückkehren, aber ich bin keine Stack-Trace Informationen oder ähnliches bekommen.
Mögliche Probleme können angezeigt werden durch: 'Entwicklungsserver läuft bei ...' - was bedeutet das und beeinflusst es die Fehlerprotokollierung?
Außerdem verwende ich eine Template-Datei '500.html', um eine benutzerdefinierte 500-Fehlerseite zu definieren. Könnte das irgendwie Fehler verstecken? Es sollte wirklich nicht.
Oder muss ich an einem anderen Ort für Protokolle mit Django auf Heroku suchen?
Danke!
Herokus Dokumente zeigen an, dass sie sowohl stderr als auch stdout protokollieren werden ... Ich frage mich, ob das früher anders war, als du das beantwortet hast und jetzt geändert hast? https: //devcenter.heroku.com/articles/logging # write-to-your-log Ich schätze, ich kann es ausprobieren. –
Das Problem, das ich hatte, war nicht mit Heroku, das funktionierte wie erwartet. Es war mit Django, die nicht wie Rails funktioniert. Vielleicht offensichtlich. –