【问题标题】:How to log django requests and responses?如何记录 django 请求和响应?
【发布时间】:2016-05-01 15:50:09
【问题描述】:
如何记录 Django 服务器处理的请求和响应?
我有一个 Django 服务器应用程序有表和关系。许多表通过多个 API 端点公开。还有几个自定义函数接受带有参数的 GET/POST 请求并在 python 中运行函数并返回结果。
作为服务器管理员,我想记录每个请求的所有传入请求和传出响应。对我来说,捕获每个请求生成的 GET/POST 参数以及每个响应发出的数据对我来说很重要。对我来说,最好的实现方式是什么?
【问题讨论】:
标签:
django
logging
django-logging
【解决方案1】:
我建议您不要通过 Django 执行此操作,您要做的就是添加请求工作负载。你会让你的应用程序变慢,这样你就可以在“一个地方”拥有它,记住,“适合工作的工具”。
我强烈建议您登录到标准记录器文件/syslog,然后使用 GrayLog/Loggly/Splunk/Logstash/etc 之类的文件。 -- 从长远来看,你会感谢我的,你不会把你的 Django 服务器和/或数据库磨到地上。
如果您认为我在开玩笑,请想一想:您更有可能将其放入中间件中,对吧?在授权之前,对吧?如果我想让你的生活变成一个活生生的地狱,我所要做的就是 while true; do curl https://yourdomain.com/doesnt-need-to-exist &; done 我会在几天内填满你的数据库,更不用说降低你的整体服务了.帮大家一个忙,不要使用 db,特别是 prod db 来存储日志