Skip to content

Commit b58a2ad

Browse files
feat: adding django-cid as a dependency and in the logs (#84)
1 parent 320de77 commit b58a2ad

File tree

2 files changed

+59
-0
lines changed

2 files changed

+59
-0
lines changed

BrowserStackAutomation/settings.py

Lines changed: 58 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -15,6 +15,8 @@
1515
import json
1616
from pathlib import Path
1717
import os
18+
import time
19+
import random
1820

1921
# Build paths inside the project like this: BASE_DIR / 'subdir'.
2022
BASE_DIR = Path(__file__).resolve().parent.parent
@@ -45,7 +47,13 @@
4547
"social_django",
4648
"Access",
4749
"rest_framework",
50+
'cid.apps.CidAppConfig',
4851
]
52+
CID_GENERATE = True
53+
CID_GENERATOR = lambda: f'{time.time()}-{random.random()}'
54+
CID_HEADER = 'X_CORRELATION_ID'
55+
CID_GENERATE = True
56+
CID_CONCATENATE_IDS = True
4957

5058
MIDDLEWARE = [
5159
"django.middleware.security.SecurityMiddleware",
@@ -56,6 +64,7 @@
5664
"django.contrib.messages.middleware.MessageMiddleware",
5765
"django.middleware.clickjacking.XFrameOptionsMiddleware",
5866
"social_django.middleware.SocialAuthExceptionMiddleware",
67+
"cid.middleware.CidMiddleware",
5968
]
6069

6170
AUTHENTICATION_BACKENDS = (
@@ -226,3 +235,52 @@
226235

227236
AUTOMATED_EXEC_IDENTIFIER = 'automated-grant'
228237

238+
LOGGING = {
239+
'version': 1,
240+
'disable_existing_loggers': False,
241+
'formatters': {
242+
'verbose': {
243+
'format': "[cid: %(cid)s]:{\"meta\":{\"timestamp\":\"%(asctime)s.%(msecs)03dZ\",\"component\":\"django\",\"application\":\"enigma\",\"team\":\"core\"},\"log\":{\"kind\":\"ENIGMA_APP\",\"dynamic_data\":\"[%(name)s:%(funcName)s:%(lineno)s] --- %(message)s\",\"level\":\"%(levelname)s\"}}",
244+
'datefmt': "%Y-%m-%dT%H:%M:%S"
245+
}
246+
},
247+
'handlers': {
248+
'file': {
249+
'level': 'INFO',
250+
'class': 'logging.FileHandler',
251+
'filename': './bstack.log',
252+
'formatter': 'verbose',
253+
},
254+
'console': {
255+
'level': 'INFO',
256+
'class': 'logging.StreamHandler',
257+
'formatter': 'verbose',
258+
},
259+
},
260+
'loggers': {
261+
'django.request': {
262+
'handlers': ['file', 'console'],
263+
'level': 'INFO',
264+
'propagate': True,
265+
'formatter' : 'verbose',
266+
},
267+
'inventory': {
268+
'handlers': ['file', 'console'],
269+
'level': 'INFO',
270+
'propagate': True,
271+
'formatter' : 'verbose',
272+
},
273+
'Access':{
274+
'handlers': ['file', 'console'],
275+
'level': 'INFO',
276+
'propagate': True,
277+
'formatter' : 'verbose',
278+
},
279+
'bootprocess':{
280+
'handlers': ['file', 'console'],
281+
'level': 'INFO',
282+
'propagate': True,
283+
'formatter' : 'verbose',
284+
},
285+
},
286+
}

requirements.txt

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -118,4 +118,5 @@ eradicate==2.1.0
118118
mypy==1.0.0
119119
mypy-extensions==1.0.0
120120
vulture==2.7
121+
django-cid==2.3
121122
flake8==6.0.0

0 commit comments

Comments
 (0)