Есть ли какой-нибудь уведомитель об исключениях в Python?
Каково мое требование?
-> Мне нужен уведомитель об исключении, который отправит электронное письмо какому-либо конкретному сконфигурированному пользователю о любых исключениях, возникающих в простом приложении на python и в web.py.
Я хочу что-то похожее на это http://matharvard.ca/posts/2011/jul/31/exception-notification-for-rails-3/
Есть что-нибудь подобное?
Пожалуйста, ответьте как можно скорее. Благодарю.
4 ответа
Вы можете получить то, что вы хотите:
- Оборачиваем ваш код в
try..except
пункт. - С помощью
logging
модуль для регистрации исключений с определенным уровнем серьезности, напримерERROR
, - Настройка
SMTPHandler
для исключений и выше определенного уровня.
Этот способ довольно гибкий. Ваши сообщения могут быть отправлены в несколько мест (например, файлы журналов), и вы можете легко перенастроить свои настройки.
Если вы не используете какой-либо Python тяжеловесный фреймворк, попробуйте: https://github.com/fossilet/exception-notifier, похоже, это похоже на уведомление об исключениях Rails, но довольно просто.
Если вы используете django, кажется, вы можете использовать его встроенную функцию: https://docs.djangoproject.com/en/dev/howto/error-reporting/ (а также увидеть это: https://github.com/ Пинакс / Джанго-уведомление)
Если вы используете торнадо, попробуйте это: https://github.com/kanevski/tornadotoad - это наиболее похожее решение в python по сравнению с рельсами.)
Вы можете переписать excepthook
функция от sys
модуль, и обрабатывать любые непредвиденные исключения там.
У меня с тобой такое же требование. Я пишу простой модуль для отправки по почте неисследованных исключений разработчикам, а также для записи их в лог-файлы. Он используется в скриптах cron наших команд, написанных на Python. Надеюсь, это может быть полезно и для вас.