LOG_URL = '/var/log/Crime_Mapping/'
import logging
class CustomQueryFilter(logging.Filter):
def filter(self, record):
for action in ['INSERT', 'UPDATE', 'DELETE']:
if action in getattr(record, 'sql', ''):
return True
return False
LOGGING = {
'version': 1,
'disable_existing_loggers': False,
'filters': {
'require_debug_false': {
'()': 'django.utils.log.RequireDebugFalse',
},
'db_query_filter': {
'()': CustomQueryFilter,
},
},
'formatters': {
'verbose': {
'format' : "[%(asctime)s] %(levelname)s [%(name)s:%(lineno)s] %(module)s %(process)d %(thread)d %(message)s",
'datefmt' : "%d/%b/%Y %H:%M:%S"
},
'simple': {
'format': '%(levelname)s %(message)s'
},
},
'handlers': {
'mail_admins': {
'level': 'ERROR',
'filters': ['require_debug_false'],
'class': 'django.utils.log.AdminEmailHandler'
},
'file':{
'level': 'DEBUG',
'filters': ['db_query_filter'],
'class': 'logging.FileHandler',
'filename': LOG_URL+'crime_log.log',
'formatter': 'verbose'
},
},
'loggers': {
'django.request': {
'handlers': ['mail_admins'],
'level': 'ERROR',
'propagate': True,
},
'my_logger': {
'handlers': ['file'],
'level': 'DEBUG',
},
'django.db': {
'level': 'DEBUG',
'handers': ['file'],
'filters': ['db_query_filter'],
'propagate': True,
},
}
}