A Python logging filter for Django user attributes.
Project description
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.
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
Release history Release notifications | RSS feed
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)
Built Distribution
Close
Hashes for django_user_trace-2.0.0-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 844663cde15f2bdfc92b8af198ddee384a59d2d23787dec64dc08110d184b78b |
|
MD5 | b262abf674ecd79d12020edeba7ba1c0 |
|
BLAKE2b-256 | 71f7a4dd00023cf9b1979c8832bbb153d015cd8016d9e04337688046b2b13ada |