出于调试目的,我想使用 Django 的日志记录机制在每个传入请求“到达”django-rest-framework 的门口时记录它。
Djagno 以下列方式(来自 settings.py 中的 LOGGING 部分)提供其请求的日志记录(仅“警告”日志级别及以上):
'django.request': {
'handlers': ['mail_admins'],
'level': 'ERROR',
'propagate': False,
},
我希望实现这样的目标(注意:日志级别为 DEBUG):
'rest_framework.request': {
'handlers': ['logfile'],
'level': 'DEBUG',
'propagate': False,
},
有没有一种方法可以在 不 将记录器嵌入到 DRF 的源代码中的情况下做到这一点?
DRF 中是否有某种我不知道的“日志记录后端”选项?
原文由 OrPo 发布,翻译遵循 CC BY-SA 4.0 许可协议
我做了一个通用的
RequestLogMiddleware
可以挂接到任何 DjangoView
使用decorator_from_middleware
。request_log/middleware.py
request_log/mixins.py
my_django_rest_api/views.py