向日志记录中添加请求信息。
项目描述
此包提供了一个日志过滤器和中件件,用于将当前请求的信息添加到日志记录中。
安装和用法
安装包,将 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。它添加了一个未绑定的RequestFilter,该过滤器将被中件件绑定到当前请求,并在响应时再次解绑。
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-redux-1.2.1.tar.gz的哈希
| 算法 | 哈希摘要 | |
|---|---|---|
| SHA256 | e672c65a58c647c2142165ce872eaac2fd26ddb997f9eb20b270cd78221c29b3 |
|
| MD5 | 42f4a58ad533e6df9cc2521d5c5c9ae9 |
|
| BLAKE2b-256 | afd3c52922bf8a9abc0e7c848bab899f46cbb982ab7d68d910b6aa8547c6bd07 |