Google App Engine中所有Get请求的自动装饰器 - Python

时间:2014-03-03 15:58:10

标签: python google-app-engine

我想在GAE中的每个GET / POST请求中记录(发送指标到statsD)。

那就是我的装饰者:

def log_request():
    def actual_decorator(method):
        def wrapper(self, *args, **kwargs):
            // send metrics that have the request name as the name space
            return method(self, *args, **kwargs)
        return wrapper
    return actual_decorator

当然我不想查看我的所有GET请求并将@log_request()放在那里。有没有办法在全球范围内捕捉所有这些?

(不使用Django)

2 个答案:

答案 0 :(得分:0)

我认为(在Python中)不可能自动将装饰方法继承到所有子类。您必须为每个方法显式声明装饰器。

如果您正在寻找的只是分析,那么您可以使用日志服务和ScheduledTask来完成相同的工作。

答案 1 :(得分:0)

我最近已经实现了类似的功能,您可以将WSGIApplication包装在记录请求的中间件中。我不知道statsD,在我的情况下,我将请求记录到数据存储区。