向日志记录中添加请求信息。
项目描述
此软件包提供了一个日志过滤器和中件,用于将当前请求的信息添加到日志记录中。
安装和使用
安装软件包,将 django_requestlogging 添加到 settings.INSTALLED_APPS,将 django_requestlogging.middleware.LogSetupMiddleware 添加到 settings.MIDDLEWARE_CLASSES,并将 django_requestlogging.logging_filters.RequestFilter 作为日志过滤器添加。以下是一个示例日志配置。
过滤器将当前请求的信息添加到日志记录中。以下键可以替换在日志格式化字符串中
- http_user_agent
客户端提供的用户代理字符串。
- path_info
请求的HTTP路径。
- remote_addr
远程IP地址。
- request_method
HTTP请求方法(例如:GET、POST、PUT、DELETE等)
- server_protocol
服务器协议(例如:HTTP、HTTPS等)
- username
已登录用户的用户名。
如果无法从当前请求(或没有当前请求)中提取这些信息,则用连字符 '-' 作为占位符。
日志配置示例
此日志配置可以添加到您的 DJANGO_SETTINGS_MODULE。它添加了一个未绑定的事件过滤器,该过滤器将由中间件绑定到当前请求,然后在响应时再次解绑。
LOGGING = { 'filters': { # Add an unbound RequestFilter. 'request': { '()': 'django_requestlogging.logging_filters.RequestFilter', }, }, 'formatters': { 'request_format': { 'format': '%(remote_addr)s %(username)s "%(request_method)s ' '%(path_info)s %(server_protocol)s" %(http_user_agent)s ' '%(message)s %(asctime)s', }, }, 'handlers': { 'console': { 'class': 'logging.StreamHandler', 'filters': ['request'], 'formatter': 'request_format', }, }, 'loggers': { 'myapp': { # Add your handlers that have the unbound request filter 'handlers': ['console'], # Optionally, add the unbound request filter to your # application. 'filters': ['request'], }, }, }
项目详情
下载文件
下载适用于您平台文件的文件。如果您不确定选择哪个,请了解更多关于 安装包 的信息。
源分布
django-requestlogging-1.0.1.tar.gz (7.2 kB 查看哈希值)
关闭
django-requestlogging-1.0.1.tar.gz 的哈希值
算法 | 哈希摘要 | |
---|---|---|
SHA256 | c97af5a4097a4810b73ed05b26e6667414233151c950a9cd6528adadc84044dc |
|
MD5 | d7751d584f4cf120777dd07c69602193 |
|
BLAKE2b-256 | 481b38da05706cba8a0b2b5fdbe97367df519bc4f01f015ed777b56adcaedbe9 |