【问题标题】:How can I save request parameters along with exception Flask?如何将请求参数与异常 Flask 一起保存?
【发布时间】:2015-08-28 18:11:29
【问题描述】:

当 Flask 应用程序抛出异常时,我们通常有一个错误处理程序来捕获它:

@app.errorhandler(500)
def serverError(e):
    # log to file or something
    app.logger.error(e)
    return render_template('500.html'), 500

我们怎样才能记录一些额外的数据,比如请求参数?很多时候,除了异常消息本身之外,了解导致异常的输入是什么很有用。

【问题讨论】:

    标签: python error-handling flask


    【解决方案1】:

    只需从request 记录您想要的任何数据,它仍然可以在错误处理程序中使用。这是一个简单的处理程序,用于记录请求头和随请求发送的任何数据。注意异常已经被Flask记录了,你不需要单独记录。

    # make sure to add your own handler when not in debug mode
    if not app.debug:
        app.logger.addHandler(logging.StreamHandler())
    
    @app.errorhandler(500)
    def teardown_request(e):
        app.logger.error(request.headers)
    
        if request.args:
            app.logger.error(request.args)
    
        if request.form:
            app.logger.error(request.form)
        elif request.get_json():
            app.logger.error(request.get_json())
    
        return render_template('500.html'), 500
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-05-27
      • 1970-01-01
      • 2012-02-12
      • 2019-03-27
      • 2020-01-15
      • 1970-01-01
      相关资源
      最近更新 更多