How to configure and enable Logging / logger in Django for MySQL Database Query


We can see what query made by Django by configure and enable logger. Logger in Django is using python logging, so it will have same rule level. We should use “Debug” mode to log and watch query database into our django server development.
Then we can start by editing settings.py :

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
LOGGING = {
    ‘version’: 1,
    ‘disable_existing_loggers’: True,
    ‘formatters’: {
        ‘verbose’: {
            ‘format’:
    ‘%(levelname)s %(asctime)s %(module)s %(process)d %(thread)d %(message)s’
        },
        ‘simple’: {
            ‘format’: ‘%(levelname)s %(message)s’
        },
    },
    ‘handlers’: {
        ‘mail_admins’: {
            ‘level’: ‘ERROR’,
            ‘class’: ‘django.utils.log.AdminEmailHandler’
        },
        ‘console’: {
            ‘level’: ‘DEBUG’,
            ‘class’: ‘logging.StreamHandler’,
            ‘formatter’: ‘simple’
        }
    },
    ‘loggers’: {
        ‘django.request’: {
            ‘handlers’: [‘mail_admins’],
            ‘level’: ‘ERROR’,
            ‘propagate’: True,
        },
        ‘django.db.backends’: {
            ‘handlers’: [‘console’],
            ‘level’: ‘DEBUG’,
            ‘propagate’: True,
        },
    }
}

Restart your django server and try to access page which made query into database. Then you should all query made of by Django into database.


Leave a Reply

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.