Настройка отчетов об ошибках по электронной почте в Pylons - PullRequest
1 голос
/ 20 апреля 2011

Я отправляю себе отчеты об ошибках WebApp от Pylons, когда пользователи сталкиваются с критическими ошибками, и я хотел бы получить полную информацию о сеансе [] в отчетах и ​​настроить его по своему вкусу, но я понятия не имею,как это сделать, или где отчет фактически создается / составляется.

Кто-нибудь знает, как мне это сделать?

Ответы [ 2 ]

1 голос
/ 04 июля 2011

Я благодарю Майкла за то, что он ответил мне, но не дал мне ничего, на чем можно было бы основываться.Это означало, что я должен был сам разобраться, и это всегда хорошо:)

Что я сделал, я посмотрел на /config/middleware.py в моем проекте Pylons и нашел следующую строку:

app = ErrorHandler(app, global_conf, **config['pylons.errorware'])

Я создал свой собственный DefHandler def и свой собственный класс ErrorMiddleware в верхней части файла middleware.py:

class ClaraErrorMiddleware(ErrorMiddleware):
    def exception_handler(self, exc_info, environ):
        # do what ever you want with the exc_info or environ vars
        super(ClaraErrorMiddleware, self).exception_handler(exc_info, environ) # call parent
    pass

def ClaraErrorHandler(app, global_conf, **errorware):
    if asbool(global_conf.get('debug')):
        return ErrorHandler(app, global_conf, **errorware)
    else:
        return ClaraErrorMiddleware(app, global_conf, **errorware)

Итак, теперь я могу добавить некоторые дополнительные переменные, которые я хочу видетьотправлено с моей ошибкой по электронной почте.Достаточно просто ...

1 голос
/ 20 апреля 2011

Короткий ответ: вам придется бросить свой собственный для этой функции. WebError - это пакет, используемый для этого, и он не предоставляет никаких точек расширения. Лучше всего будет использовать его в своих изменениях, хотя даже в этом случае код не очень приятный.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...