How to get request.user.username in django logger?

Viewed 807

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.

0 Answers
Related