向日志记录中添加请求信息。
项目描述
此包提供了一个日志过滤器和中件件,用于将当前请求的信息添加到日志记录中。
安装和用法
安装包,将 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 |