我已经在Sentry中设置了一个flask项目,但是注意到我需要修复的问题。
当前,如果flask应用程序抛出HTTPException(例如,针对验证异常),则该异常会在Sentry中引发问题。因为即使对于HTTP 400也会产生问题,这使问题变得混乱。
是否可以通过任何方式配置Sentry,使其忽略代码为4xx的所有HTTPException,但仍为代码为5xx的所有HTTPException创建问题?
答案 0 :(得分:0)
如果我没记错的话,Sentry应该只发送未处理的异常。因此,您可以设置自定义错误处理程序:http://flask.pocoo.org/docs/1.0/patterns/errorpages/?highlight=error%20handler#error-handlers
如果要处理所有默认异常,则可以注册这样的错误处理程序:
from werkzeug.exceptions import default_exceptions
def register_error_handlers(app):
""" Register error handler for default exceptions """
for code in default_exceptions:
app.register_error_handler(code, your_error_handler)
其中app
是烧瓶应用程序实例,而your_error_handler
将错误作为参数并返回响应。因此,您可以在此for循环中过滤400个代码,以仅处理4xx错误。