【发布时间】:2015-08-27 17:23:34
【问题描述】:
假设我有以下资源(来自美味派食谱http://django-tastypie.readthedocs.org/en/latest/cookbook.html#creating-per-user-resources 的示例):
class EnvironmentResource(ModelResource):
class Meta:
queryset = Environment.objects.all()
resource_name = 'environment'
list_allowed_methods = ['get', 'post']
authentication = ApiKeyAuthentication()
authorization = Authorization()
# maybe even some validation
validation = FormValidation(form_class=forms.EnvironmentResourceForm)
def obj_create(self, bundle, **kwargs):
return super(EnvironmentResource, self).obj_create(bundle, user=bundle.request.user)
现在我想使用 statsd 客户端 (https://github.com/jsocol/pystatsd) 来计算 http 状态代码的出现次数(或者只是分别计算 2XX 和 4XX/5XX)。但我不知道我应该把我的代码放在哪里,statsd.incr('success') 或statsd.incr('failure')。你有什么建议吗?
或者,也许您知道计算 http 状态码的其他方法? (我不想分析访问日志)。
提前致谢!
编辑:
也许我应该定义一个新的中间件(像这样:https://docs.djangoproject.com/en/1.8/_modules/django/contrib/messages/middleware/),它将作为最后一个解决。计数器将在process_response 方法中增加。
【问题讨论】: