Да, это возможно.
Вы можете сделать это с помощью пакета ereporter , который позволяет получать отчеты об исключениях из вашего приложения по электронной почте.
Ereporter сообщит о двух видах исключений:
- исключений, зарегистрированных с
logging.exception('Your handled exception')
- любыми неперехваченными исключениями
Чтобы перехватить все исключения, я бы создал собственный класс BaseHandler, переопределяющий handle_exception () метод;все ваши обработчики запросов должны наследоваться от этого базового класса.
Посмотрите на Пользовательские ответы об ошибках тоже.
Вот простой пример класса BaseHandler:
class BaseHandler(webapp.RequestHandler):
def handle_exception(self, exception, debug_mode):
if debug_mode:
webapp.RequestHandler.handle_exception(self, exception, debug_mode)
else:
logging.exception(exception)
self.error(500)
self.response.out.write(template.render('templdir/error.html', {}))