记录http请求主体的django中间件。
django-request-logging的Python项目详细描述
django请求日志记录
将django请求日志插入django项目中,您将对web请求和api请求都有直观的彩色编码的请求/响应负载日志记录。支持django 1.8+。
安装
$ pip install django-request-logging
然后将request_logging.middleware.LoggingMiddleware
添加到MIDDLEWARE
中。
例如:
MIDDLEWARE=(...,'request_logging.middleware.LoggingMiddleware',...,)
并在应用程序中配置登录:
LOGGING={'version':1,'disable_existing_loggers':False,'handlers':{'console':{'class':'logging.StreamHandler',},},'loggers':{'django.request':{'handlers':['console'],'level':'DEBUG',# change debug level as appropiate'propagate':False,},},}
详细信息
大多数时候你不必在意这些细节。但如果你需要深入研究:
- 所有日志都使用记录器名称“django.request”配置。
- 如果http状态代码介于400-599之间,则uri将记录在错误级别,否则将记录在信息级别。
- 如果http状态代码介于400-599之间,则数据将记录在错误级别,否则将记录在调试级别。
请参阅REQUEST_LOGGING_HTTP_4XX_LOG_LEVEL
设置以覆盖此设置。
包含一个no_logging
装饰器,用于包含敏感数据的视图。
django设置
通过遵循djangosettings.py
中的设置,可以自定义django请求日志记录的一些行为。
请求日志记录数据日志级别
默认情况下,数据将登录到调试级别,如果需要,可以更改为其他有效级别(例如logging.info)。
请求日志记录启用着色
如果要登录到日志文件而不是控制台,则可能需要删除ANSI颜色。可以将REQUEST_LOGGING_ENABLE_COLORIZE=False
设置为禁用着色。
请求日志记录禁用着色(不推荐)
此旧设置仍然可用,但您不应再使用此设置。您应该改用REQUEST_LOGGING_ENABLE_COLORIZE
。
我们保留这些设置是为了向后兼容。
请求日志记录最大正文长度
默认情况下,请求正文和响应内容的最大长度被剪切为50000个字符。
请求日志记录http 4xx日志级别
默认情况下,400-499之间的http状态代码记录在错误级别。您可以设置REQUEST_LOGGING_HTTP_4XX_LOG_LEVEL=logging.WARNING
(etc)来覆盖它。
如果您设置了REQUEST_LOGGING_HTTP_4XX_LOG_LEVEL=logging.INFO
,它们将被记录为与普通请求相同的日志。