为每个请求添加唯一ID以用于日志记录目的
项目描述
为每个请求添加唯一的 request_id 属性并提供请求ID日志辅助工具。
由 en.ig.ma 软件店 开发和使用。
快速入门
将 django-request-id 包含在您的 requirements.txt 文件中。
将 request_id 添加到 INSTALLED_APPS 中(如果您打算使用 {% request_id %} 模板标签,则这是必需的)。
将 request_id.middleware.RequestIdMiddleware 添加到 Django MIDDLEWARE 设置的最顶部。
该应用程序通过定义一个将 request_id 变量放入每个日志消息作用域中的过滤器,与标准 Python/Django 日志集成。
首先,将过滤器定义添加到 Django LOGGING 设置中
"filters": { "request_id": { "()": "request_id.logging.RequestIdFilter" } }
然后为相关处理程序启用过滤器
"handlers": { "console": { ... "filters": ["request_id"], } }
最后,修改格式化输出格式以包含 %(request_id) 占位符
"formatters": { "console": { "format": "%(asctime)s - %(levelname)-5s [%(name)s] request_id=%(request_id)s %(message)s" } }
完整的 Django 日志配置示例可能如下所示
LOGGING= { "version": 1, "disable_existing_loggers": False, "filters": { "request_id": { "()": "request_id.logging.RequestIdFilter" } }, "formatters": { "console": { "format": "%(asctime)s - %(levelname)-5s [%(name)s] request_id=%(request_id)s %(message)s", "datefmt": "%H:%M:%S" } }, "handlers": { "console": { "level": "DEBUG", "filters": ["request_id"], "class": "logging.StreamHandler", "formatter": "console" } }, "loggers": { "": { "level": "DEBUG", "handlers": ["console"] } } }
确保您的 Web 服务器为每个请求添加 X-Request-ID 标头(并在服务器日志中记录它以进一步匹配服务器和应用程序日志条目)。
Heroku 会自动处理此操作 [链接]。
在Nginx上,您可能需要单独的模块(请参阅nginx_requestid或nginx-x-rid-header)。
在Apache上,您需要
启用 unique_id模块,并在Django项目设置中将
如果无法在Web服务器级别生成X-Request-Id头,则只需在项目设置中将
,应用程序将自动生成唯一ID值,而不是从wsgi环境中检索它。 有关服务器配置的更多信息,请参阅server-config。
依赖项
无。
文档和演示
完整文档位于http://django-request-id.rtfd.org。
还有一个即时演示示例,可以从克隆的存储库运行
python demo.py
在Heroku上查看集成操作
许可
django-request-id采用MIT许可。
其他资源
GitHub存储库 - https://github.com/nigma/django-request-id
商业支持
此应用程序和许多其他应用程序帮助我们构建更好的软件,并专注于更快地交付高质量的项目。我们很乐意帮助您完成下一个项目,所以请通过发送电子邮件至en@ig.ma与我们联系。
历史
1.0.0 (2016-10-23)
Django 1.10兼容性
0.1.0 (2014-01-30)
首次发布
项目详情
散列 for django_request_id-1.0.0-py2.py3-none-any.whl
算法 | 散列摘要 | |
---|---|---|
SHA256 | f7f296a7c6de44193af9461c72cbdb6a12887fffe00a7dcfa0f43a4ec67e4643 |
|
MD5 | a29ce4cf3039b57879b5734fcb808132 |
|
BLAKE2b-256 | c2ce0455f018d3457a36a7bdd971b735fd7d0fd725ef203d0388ff6175766161 |