A simple way to implement request_id in Django
Project description
Request ID Django Log
Install
pip install request-id-django-log
Update your INSTALLED_APPS and MIDDLEWARE
INSTALLED_APPS = [
...
"request_id_django_log",
]
MIDDLEWARE = [
...
"request_id_django_log.middleware.RequestIdDjangoLog",
]
Configure
The following options are used by this library:
REQUEST_ID_CONFIG = {
"REQUEST_ID_HEADER": "HTTP_X_REQUEST_ID",
"GENERATE_REQUEST_ID_IF_NOT_FOUND": True,
"RESPONSE_HEADER_REQUEST_ID": "HTTP_X_REQUEST_ID",
}
REQUEST_ID_HEADERis the header name which will hold the received request_id. This must be used when another system is responsible for generating the request_ids and sending them to your django application.GENERATE_REQUEST_ID_IF_NOT_FOUNDIf set to true, a new request_id will be generated if none was previously supplied.RESPONSE_HEADER_REQUEST_IDsets the name of the response header which will hold the value of the request_id.
With this configuration if the request have the header X-REQUEST-ID the library will use this header value.
Logs
If you want your logs to have the request id, add the following lines to your logging dictionary configuration:
LOGGING = {
...
"filters": {"request_id": {"()": "request_id_django_log.filters.RequestIDFilter"}},
"formatters": {
"standard": {
...
"format": "%(levelname)-8s [%(asctime)s] [%(request_id)s] %(name)s: %(message)s",
},
...
},
"handlers": {
"console": {
...
"filters": ["request_id"],
...
}
},
"loggers": {
"": {"level": "INFO", "handlers": ["console"]},
...
},
}
Supported Versions
python 2.7with Django1.8,1.9and1.11python 3.5,3.6and3.7with Django1.8,1.9,1.11,2.0,2.1,2.2and3.0
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
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file request_id_django_log-0.2.0.tar.gz.
File metadata
- Download URL: request_id_django_log-0.2.0.tar.gz
- Upload date:
- Size: 5.6 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/3.2.0 pkginfo/1.5.0.1 requests/2.24.0 setuptools/49.2.0 requests-toolbelt/0.9.1 tqdm/4.48.0 CPython/3.8.4
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
9a4ee69a5d5f70b8a34938a99de1c4c0878a44f8c3c84d2ab85195b1d15563d9
|
|
| MD5 |
85973ea62aacdcf12cb3b6ff62ab22ec
|
|
| BLAKE2b-256 |
d99624c893dca377a8525f0e38d32211fb8887a66f3b8ccdf7fc91f298a81c97
|
File details
Details for the file request_id_django_log-0.2.0-py3-none-any.whl.
File metadata
- Download URL: request_id_django_log-0.2.0-py3-none-any.whl
- Upload date:
- Size: 7.7 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/3.2.0 pkginfo/1.5.0.1 requests/2.24.0 setuptools/49.2.0 requests-toolbelt/0.9.1 tqdm/4.48.0 CPython/3.8.4
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
cd860ebede18c8dace21ea565282521b44ea3f91a5c819baf4adf1d3db8d725c
|
|
| MD5 |
9fcd9d170bfa4a13f38802e5d8c2f12e
|
|
| BLAKE2b-256 |
9bbc013a294c137453897f6fff09c012dc9235db101830c5ec8dbf800ea50edd
|