Достойная ошибка вывода в браузере для wsgi / web.py - PullRequest
1 голос
/ 23 ноября 2010

Я использую web.py 0.3 / apache2 / mod_wsgi, и модуль cgitb, похоже, не работает "из коробки" (я все еще просто получаю "внутреннюю ошибку сервера" из web.py, и обычный вывод идет в apacheжурнал ошибок).В руководстве по установке web.py был предложен обходной путь, который у меня не сработал - возможно, я мог бы его взломать, но есть ли что-то лучше (возможно, разработанное для web.py или wsgi), которое я должен использовать вместо этого?

Ответы [ 3 ]

3 голосов
/ 24 ноября 2010

Установите web.config.debug = True перед созданием приложения. Это включает ошибку отладки, которая содержит трассировку стека исключений вместе со значениями локальных объектов.

0 голосов
/ 12 марта 2013

Отсутствие cgitb действительно сильно меня тормозило. Это сделало это для меня:

попробовать: Выход + = TroublesomeScript (и т.д.)

за исключением: отслеживание импорта; Выход + = ул (traceback.format_exc ())

Вы можете украсить вывод, если хотите, но это должно дать вам информацию, необходимую для отладки. Вы также можете просто вывести sys.exc_info (), но модуль traceback, похоже, рекомендуется.

0 голосов
/ 03 февраля 2011

При отладке apache2 и web.py обычно хорошо отлавливать ошибки в журнале ошибок apache. Например, когда вы получаете внутреннюю ошибку сервера, это означает, что ваше приложение по какой-либо причине ничего не вернуло.

В Linux я просто смотрю журнал ошибок в отдельном терминале ...

tail -f /var/log/apache2/error_log

или

tail -f /var/log/httpd/error_log

или что-то в зависимости от вашего дистрибутива. Если есть опечатка или сообщение об ошибке или что-то еще, вы получите типичную трассировку стека Python в своем журнале ошибок, даже если вы получите внутреннюю ошибку сервера в браузере.

...