如何在装饰器记录器中获取烧瓶的请求?

时间:2014-12-29 08:14:07

标签: python flask decorator

我想写一个关于查询字符串的日志,并在烧瓶中形成请求对象的数据。

我使用装饰器功能进行记录。

customlog.py

import logging

def webLog(func):
    @wraps(func)
    def newFunc(*args, **kwargs):
        logging.debug(request.url + " : " + str(request.remote_addr))
        return func(*args, **kwargs)
    return newFunc

main.py

@app.route('/')
@customlog.webLog
def hello_world():
    return 'Hello World!'

但是,请在main.py中请求另一个源文件。

如何获取记录请求对象?
使用装饰函数的参数?

1 个答案:

答案 0 :(得分:3)

我认为您只需将以下导入from flask import request添加到customlog.py即可。这是我用过的测试代码。我刚用一个简单的print语句替换logging.debug进行测试。

from functools import wraps
from flask import request

def webLog(func):
    @wraps(func)
    def newFunc(*args, **kwargs):
        print request.url + " : " + str(request.remote_addr)
        return func(*args, **kwargs)
    return newFunc