Логирование в Джанго
- Подробности
- Категория: Django
- Просмотров: 215
Часто нужно записать некоторые события для анализа в Джанго...
Логирование в Django решает проблему с записью и анализом логов.
Нужно лишь в settings.py вставить следующий код:
LOGGING = {
'version': 1,
'disable_existing_loggers': False,
'filters': {
'require_debug_false': {
'()': 'django.utils.log.RequireDebugFalse'
}
},
'handlers': {
'mail_admins': {
'level': 'ERROR',
'filters': ['require_debug_false'],
'class': 'django.utils.log.AdminEmailHandler'
'applogfile': {
'level':'DEBUG',
'class':'logging.handlers.RotatingFileHandler',
'filename': os.path.join(DJANGO_ROOT, 'APPNAME.log'),
'maxBytes': 1024*1024*15, # 15MB
'backupCount': 10,
},
} },
'loggers': {
'django.request': { 'handlers': ['mail_admins'],
'level': 'ERROR',
'propagate': True ,
},
'APPNAME': {
'handlers': ['applogfile',],
'level': 'DEBUG',
},
} }
Можно выбрать разные уровни ошибок, например: debug или error
Код выше будет сохранять в log файл до 15 мегабайт инфы и 10 исторических точек/ как я понял
Если пример выше пока сложный, то начинайте с простого:
LOGGING = {
'version': 1,
'disable_existing_loggers': False,
'handlers': {
'file': {
'level': 'DEBUG',
'class': 'logging.FileHandler',
'filename': 'debug.log',
},
},
'loggers': {
'django': {
'handlers': ['file'],
'level': 'DEBUG',
'propagate': True,
},
},
}