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_HEADER
is 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_FOUND
If set to true, a new request_id will be generated if none was previously supplied.RESPONSE_HEADER_REQUEST_ID
sets 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.7
with Django1.8
,1.9
and1.11
python 3.5
,3.6
and3.7
with Django1.8
,1.9
,1.11
,2.0
,2.1
,2.2
and3.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
Close
Hashes for request_id_django_log-0.2.0.tar.gz
Algorithm | Hash digest | |
---|---|---|
SHA256 | 9a4ee69a5d5f70b8a34938a99de1c4c0878a44f8c3c84d2ab85195b1d15563d9 |
|
MD5 | 85973ea62aacdcf12cb3b6ff62ab22ec |
|
BLAKE2b-256 | d99624c893dca377a8525f0e38d32211fb8887a66f3b8ccdf7fc91f298a81c97 |
Close
Hashes for request_id_django_log-0.2.0-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | cd860ebede18c8dace21ea565282521b44ea3f91a5c819baf4adf1d3db8d725c |
|
MD5 | 9fcd9d170bfa4a13f38802e5d8c2f12e |
|
BLAKE2b-256 | 9bbc013a294c137453897f6fff09c012dc9235db101830c5ec8dbf800ea50edd |