#django #sentry
#django #sentry
Вопрос:
Я успешно запускаю django-sentry в наших промежуточных и производственных средах, но на моем экземпляре разработки sentry, похоже, не ведет журнал.
Я использую manage runserver, и когда возникает ошибка 500, я получаю это в консоли:
Development server is running at http://192.168.56.100:8080/
Quit the server with CONTROL-C.
No handlers could be found for logger "sentry.errors"
[20/Apr/2011 17:26:56] "POST .... HTTP/1.1" 500 126470
Я установил следующее в local_settings:
DEBUG = True
SENTRY_TESTING = True
Поиск в Google ничего не дал для сообщения об ошибке «Нет обработчиков …» — есть идеи?
Комментарии:
1. Какую версию Django вы используете в производстве и в своем разработчике?
2. 1.2.3 в рабочей среде и 1.2.5 в dev
3. Используете ли вы Django > = 1.3? Они изменили обработку ошибки 500. Посмотрите здесь: При входе в систему 1.3 у меня такая же проблема. Вы уже нашли способ заставить его работать?
Ответ №1:
В вашем settings.py в вашем окне разработки, которое не регистрируется, добавьте что-то вроде этого:
import logging
logger = logging.getLogger("sentry.errors")
handler = logging.StreamHandler()
formatter = logging.Formatter("[%(levelname)s] %(name)s: %(message)s")
handler.setFormatter(formatter)
logger.addHandler(handler)
Итак, предполагая, что вы используете стандартный manage.py запустите сервер на вашем рабочем столе разработчика, который откроет StreamHandler (), который записывает стандартную ошибку, и вы должны увидеть ее на своей консоли.
Вы также могли бы изменить StreamHandler() —> FileHandler(«/ tmp /debug.log», «w»)
Тот факт, что он регистрируется в обработчике sentry.errors, говорит о неправильной конфигурации / настройках вашего dev sentry.