在Pylons中通过电子邮件自定义错误报告

时间:2011-04-20 00:29:06

标签: email reporting pylons customization

当用户遇到严重错误时,我发送自己的PAppons WebApp错误报告,我希望能够在报告中获得session []的完整输出并根据自己的喜好自定义,但我不知道如何做到这一点,或者实际创建/组合报告的位置。

任何人都知道我能做到这一点吗?

2 个答案:

答案 0 :(得分:1)

简短的回答是,您必须自己动手才能使用此功能。 WebError是用于处理此问题的包,它不提供任何扩展点。最好的选择可能是使用它的更改,尽管代码不是很漂亮。

答案 1 :(得分:1)

我感谢迈克尔回答我,没有给我任何建设的东西。这意味着我必须自己解决这个问题,这总是一件好事:)

我做的是,我在Pylons项目中查看了/config/middleware.py并找到了这一行:

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

我在middleware.py文件的顶部创建了自己的ErrorHandler def和我自己的ErrorMiddleware类:

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)

所以现在,我可以输入一些我希望通过错误电子邮件发送的额外变量。够简单......