跳转到主要内容

向日志记录中添加请求信息。

项目描述

此软件包提供了一个日志过滤器和中件,用于将当前请求的信息添加到日志记录中。

安装和使用

安装软件包,将 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 查看哈希值)

上传时间

由以下组织支持