Уведомления

Группа в Telegram: @pythonsu

#1 Ноя. 17, 2008 18:19:09

axe
От:
Зарегистрирован: 2008-08-07
Сообщения: 256
Репутация: +  0  -
Профиль   Отправить e-mail  

mod_wsgi: вывести traceback

mod_wsgi при возникновении ошибки пишет “Internal Server Error”
а ошибки записывает в /var/log/apach2/error.log

можно ли сделать, чтобы ошибки выводились на странице?



Офлайн

#2 Ноя. 18, 2008 12:14:30

slav0nic
Команда
От: dp.ua
Зарегистрирован: 2006-05-07
Сообщения: 2260
Репутация: +  41  -
Профиль   Отправить e-mail  

mod_wsgi: вывести traceback

включить дебаг режим приложения, а вообще завист от того на чём конкретно вы пишите…

Офлайн

#3 Ноя. 18, 2008 15:14:36

axe
От:
Зарегистрирован: 2008-08-07
Сообщения: 256
Репутация: +  0  -
Профиль   Отправить e-mail  

mod_wsgi: вывести traceback

python-скрипт, который выполняется под mod_wsgi из-под apache.
без фреймвёрков.

как включить дебаг режим?



Офлайн

#4 Ноя. 20, 2008 15:13:18

axe
От:
Зарегистрирован: 2008-08-07
Сообщения: 256
Репутация: +  0  -
Профиль   Отправить e-mail  

mod_wsgi: вывести traceback

Спасибо, Daevaorn за ответ в теме mod_python vs mod_wsgi, особенно за ссылку http://code.google.com/p/modwsgi/wiki/DebuggingTechniques

Итого, чтобы вывести ошибки скрипта, запускаемого под mod_wsgi, в браузер:
1) устанавливаем python-paste
2) В apache2.conf правим блок <IfModule mpm_prefork_module>
выставляем:

StartServers 1
ServerLimit 1
3) перегружаем apache
4) в скрипт добавляем:
from paste.evalexception.middleware import EvalException
application = EvalException(application)
где application - callable объект, запускающий WSGI приложение.



Офлайн

#5 Ноя. 21, 2008 11:09:34

axe
От:
Зарегистрирован: 2008-08-07
Сообщения: 256
Репутация: +  0  -
Профиль   Отправить e-mail  

mod_wsgi: вывести traceback

    StartServers          1
ServerLimit 1
это накладывает ограничения на работу сервера, потому как апач при перезапуске ругается:
WARNING: MaxClients of 150 exceeds ServerLimit value of 1 servers,
lowering MaxClients to 1.



Офлайн

#6 Ноя. 21, 2008 14:01:17

Александр Кошелев
От: Москва
Зарегистрирован: 2007-02-03
Сообщения: 1724
Репутация: +  2  -
Профиль   Отправить e-mail  

mod_wsgi: вывести traceback

Вы вообще не с того бока подходите к проблеме. Для разработки можете вообще от апача отказаться и использовать pure-python WSGI сервер. Апач монстр, который не нужен.



Офлайн

#7 Дек. 5, 2008 11:27:54

axe
От:
Зарегистрирован: 2008-08-07
Сообщения: 256
Репутация: +  0  -
Профиль   Отправить e-mail  

mod_wsgi: вывести traceback

на соседнем форуме подсказали посмотреть http://pypi.python.org/pypi/wsgilog/

как оказалось, довольно приятная вещь

после установки модуля, к коду надо добавить только:

from wsgilog import log
@log(tohtml=True, tostream=True, toprint=True)
def application(....
и можно просматривать ошибки в браузере



Офлайн

Board footer

Модераторировать

Powered by DjangoBB

Lo-Fi Version