将有关请求的信息添加到日志记录中。

django-requestlogging-redux的Python项目详细描述


Latest VersionTest/build statusCode coverage

这个包提供了一个日志过滤器和中间件来添加 有关当前对日志记录的请求的信息。

安装和使用

安装包,将django_requestlogging添加到 settings.INSTALLED_APPS,添加 django_requestlogging.middleware.LogSetupMiddlewaresettings.MIDDLEWARE_CLASSES,并添加 django_requestlogging.logging_filters.RequestFilter作为日志 过滤。请参阅下面的日志记录配置示例。

过滤器将有关当前请求的信息添加到日志记录中 记录。可以在日志记录中替换以下键 格式化程序字符串:

^{tt6}$
The user agent string, provided by the client.
^{tt7}$
The requested HTTP path.
^{tt8}$
The remote IP address.
^{tt9}$
The HTTP request method (e.g. GET, POST, PUT, DELETE, etc.)
^{tt10}$
The server protocol (e.g. HTTP, HTTPS, etc.)
^{tt11}$
The username for the logged-in user.

如果无法从当前 请求(或没有当前请求),连字符'-'是 替换为占位符。

日志配置示例

此日志记录配置可以添加到 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'],
        },
    },
}

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
java是否可以基于步骤定义返回的arraylist迭代一组功能文件行   SoapUI项目执行后的java WebDriver异常   在Java中,比较int和可能为null的整数最干净的方法是什么?   java生成带有bouncy castle的dsa/elgamal密钥对,该密钥对在GPG中导入时不会出错   java JLS与Sun javac的对应关系/它们不匹配的原因   用圆除法的java大长数值   是否存在用于集合处理的Java库?   java读取txt文件。显示每行旁边的整数之和,并找出其中最大的和   java计算数组中的值之和   java正在从SharedReferences中删除对象   在项目“XXXXX”上运行生成器“Jboss知识库生成器”时出现java错误。未知标签!位置=3池计数=12   java有没有更简单的方法来编写这个equalsIgnoreCase检查链?   java无法在NetBeans中找到main   如何在Java或C中创建MAC连接?   ssl Java MTLS主体和颁发者顺序   如何在java中解组具有未知子元素的XML?   java如何使用带多FirestoreRecyclerAdapter的房间?   java如何实例化IOSDriver以在当前会话中访问其方法   java Oracle在插入后更新NCLOB   我们可以在安卓中进行下一次迭代之前,在每次迭代中创建一个for循环来获取用户输入