Skip to main content

A Python logging filter for Django user attributes.

Project description

django-user-trace

A Python logging filter for Django user attributes

Build Coverage Python PyPI

django-user-trace provides a Python logging filter that injects attributes from the currently logged in Django user.

It uses a ContextVar to store user attributes for use on the current thread. These are then injected into all log records via a logging filter.

Visit the documentation.

sequenceDiagram
    actor User
    User ->>+ django: make request
    django ->>+ django.contrib.auth: AuthenticationMiddleware
    django.contrib.auth ->>+ django: set `request.user`
    django ->>+ django_user_trace: django_user_trace_middleware
    note over django, django_user_trace: Capture relevant user attributes into a `ContextVar`
    django_user_trace ->>+ django: continue
    django --> logging: log message
    logging ->>+ django_user_trace: get user attrs
    django_user_trace -->> logging: `ContextVar` for user attrs
    django ->>+ django_user_trace: signal `request_finished`
    note over django, django_user_trace: Clear user attributes from the `ContextVar`
    django_user_trace ->>+ django: continue
    django -->> User: send response

Supports

Resources

Related Projects

Installation

Install via pip:

pip install django-user-trace

Or, via poetry:

poetry add django-user-trace

Contributing

Thank you for considering contributing to django-user-trace! Please see the Contribution Guidelines.

Security Vulnerabilities

Please review the Security Policy on how to report security vulnerabilities.

Licence

django-user-trace is open-sourced software licenced under the MIT licence.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

django_user_trace-2.0.0.tar.gz (13.9 kB view hashes)

Uploaded Source

Built Distribution

django_user_trace-2.0.0-py3-none-any.whl (10.1 kB view hashes)

Uploaded Python 3

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page