【发布时间】:2016-06-22 10:51:42
【问题描述】:
我在 Django 中使用默认记录器,配置如下:
LOGGING = {
'version': 1,
'disable_existing_loggers': False,
'filters': {
'require_debug_false': {
'()': 'django.utils.log.RequireDebugFalse'
}
},
'handlers': {
'mail_admins': {
'level': 'ERROR',
'filters': ['require_debug_false'],
'class': 'django.utils.log.AdminEmailHandler'
},
'console': {
'level': 'DEBUG',
'class': 'logging.StreamHandler'
}
},
'loggers': {
'django.request': {
'handlers': ['mail_admins', 'console'],
'level': 'ERROR',
'propagate': True,
},
}
}
因此,每当我收到 500 错误时,我都会正确获取管理员电子邮件 ID 中的邮件,但它没有发送 POST 请求 JSON 数据。我发送请求如下:
curl -X POST -H 'Content-Type: application/json' http://127.0.0.1/api/customer/ -d "{'username':'rajeevnith', 'frist_name': 'Rajeev', 'last_name':'Bahrdwaj'}"
我们如何配置 django logger 来发送这个请求正文?
【问题讨论】:
-
真的不记录请求吗?我有一个非常非常相似的默认日志记录设置,并且在我的日志中看到了整个请求对象。 Django 文档甚至表明请求对象是使用额外参数记录的:docs.djangoproject.com/ja/1.9/topics/logging/#django-request 这向我表明,要么您只是没有看到它并且它在那里,要么您在代码中的某处覆盖了某些内容以使其无法运行它的建造方式。
-
@TitusP 不,它没有发送整个请求对象。它只是发送request.GET、request.POST、request。 FILES、request.COOKIES 和 request.META 而在 Content-Type: application/json 中发布数据时,数据来自 request.body
-
Django 版本?
-
@EllaShar 1.9.7
标签: python django python-2.7 django-admin tastypie