I am trying to get the login username in Django logger but no luck and not able to figure out where I am doing a mistake.
Please find my code:
a)code in settings.py
import logging
import logging.config
LOGGING = {
'version': 1,
# Version of logging
'disable_existing_loggers': False,
#########formatter#########################
'formatters': {
'verbose': {
'format': '%(levelname)s - %(asctime)s-- %(module)s - %(process)d - %(thread)d - %(message)s'
},
'simple': {
'format': '[%(asctime)s] : %(levelname)5s : %(message)s: %(user)'
},
},
#########################Handlers ##################################
'handlers': {
'file': {
'level': 'INFO',
'class': 'logging.FileHandler',
'filename': 'abc.log',
'formatter': 'simple'
},
'console': {
"class": "logging.StreamHandler",
"level": "DEBUG",
},
},
#################### Loggers ###############(A single Logger can have multiple handler )
'loggers': {
'django': {
'handlers': ['file','console'],
'level': 'DEBUG',
'propagate': True,
'level': os.getenv('DJANGO_LOG_LEVEL', 'DEBUG')
},
},
}
b)code in views.py
import logging
logger = logging.getLogger("django")
c)function in view.py where I am trying to show username.
def retrievects1_view(request):
if request.user.is_authenticated:
logger.info('CTADashboard Page is opened!',request.user.username)
logger.debug('My message with %s', 'args', extra={'user': request.user.username})
print(request.user.username)
response = HttpResponse(content_type='application/ms-excel')
-----Continue----
**O/p in the log file:**
[2021-01-07 18:47:32,780] : INFO : "GET /exportctatot_data/? HTTP/1.1" 200 9728:
[2021-01-07 18:47:45,202] : INFO : "GET /gensall/ HTTP/1.1" 200 82259:
[2021-01-07 18:47:46,145] : INFO : Home Page is opened!: #**here username is not coming**
[2021-01-07 18:47:46,148] : INFO : "GET / HTTP/1.1" 200 6480:
[2021-01-07 18:47:47,004] : INFO : "GET /shift/ HTTP/1.1" 200 4333:
[2021-01-07 18:47:48,073] : INFO : "GET /ctaall/ HTTP/1.1" 200 30386:
[2021-01-07 18:47:53,080] : INFO : "GET /exportctatot_data/? HTTP/1.1" 200 9728:
I am checking above log after user login.Any help/suggestion on this would be very helpful.