Created
August 1, 2014 20:25
-
-
Save darthwade/d916711bb54661ce5ab8 to your computer and use it in GitHub Desktop.
Django logging configuration.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| from __future__ import unicode_literals | |
| import os | |
| from .base import BASE_DIR | |
| LOGS_DIR = os.path.join(BASE_DIR, 'tmp/logs') | |
| LOGGING = { | |
| 'version': 2, | |
| 'disable_existing_loggers': False, | |
| 'filters': { | |
| 'require_debug_false': { | |
| '()': 'django.utils.log.RequireDebugFalse', | |
| }, | |
| 'require_debug_true': { | |
| '()': 'django.utils.log.RequireDebugTrue', | |
| }, | |
| }, | |
| 'formatters': { | |
| 'general': { | |
| 'format': '[%(asctime)s] %(levelname)s [%(name)s - %(filename)s:%(lineno)s] %(message)s ' | |
| '(EXCEPTION: %(exc_info)s)', | |
| 'datefmt': '%d/%b/%Y %H:%M:%S' | |
| }, | |
| 'request': { | |
| 'format': '[%(asctime)s] %(levelname)s [%(name)s - %(filename)s:%(lineno)s] %(message)s ' | |
| '(STATUS: %(status_code)s; REQUEST: %(request)s; EXCEPTION: %(exc_info)s)', | |
| 'datefmt': '%d/%b/%Y %H:%M:%S' | |
| }, | |
| 'db': { | |
| 'format': '[%(asctime)s] %(levelname)s [%(name)s - %(filename)s:%(lineno)s] %(message)s ' | |
| '(DURATION: %(duration)s; SQL: %(sql)s; PARAMS: %(params)s; EXCEPTION: %(exc_info)s)', | |
| 'datefmt': '%d/%b/%Y %H:%M:%S' | |
| }, | |
| }, | |
| 'handlers': { | |
| 'null': { | |
| 'class': 'logging.NullHandler', | |
| }, | |
| 'console': { | |
| 'level': 'DEBUG', | |
| 'filters': ['require_debug_true'], | |
| 'class': 'logging.StreamHandler', | |
| 'formatter': 'general', | |
| }, | |
| 'mail_admins': { | |
| 'level': 'ERROR', | |
| 'filters': ['require_debug_false'], | |
| 'class': 'django.utils.log.AdminEmailHandler', | |
| 'include_html': True, | |
| }, | |
| 'django': { | |
| 'level': 'ERROR', | |
| 'filters': ['require_debug_false'], | |
| 'class': 'logging.handlers.RotatingFileHandler', | |
| 'filename': os.path.join(LOGS_DIR, 'django.log'), | |
| 'maxBytes': 16 * 1024 * 1024, # 16 MB | |
| 'backupCount': 5, | |
| 'formatter': 'general', | |
| }, | |
| 'security': { | |
| 'level': 'WARNING', | |
| 'filters': ['require_debug_false'], | |
| 'class': 'logging.handlers.RotatingFileHandler', | |
| 'filename': os.path.join(LOGS_DIR, 'security.log'), | |
| 'maxBytes': 16 * 1024 * 1024, # 16 MB | |
| 'backupCount': 5, | |
| 'formatter': 'general', | |
| }, | |
| 'db': { | |
| 'level': 'ERROR', | |
| 'filters': ['require_debug_false'], | |
| 'class': 'logging.handlers.RotatingFileHandler', | |
| 'filename': os.path.join(LOGS_DIR, 'db.log'), | |
| 'maxBytes': 16 * 1024 * 1024, # 16 MB | |
| 'backupCount': 5, | |
| 'formatter': 'db', | |
| }, | |
| 'request': { | |
| 'level': 'ERROR', | |
| 'filters': ['require_debug_false'], | |
| 'class': 'logging.handlers.RotatingFileHandler', | |
| 'filename': os.path.join(LOGS_DIR, 'request.log'), | |
| 'maxBytes': 16 * 1024 * 1024, # 16 MB | |
| 'backupCount': 5, | |
| 'formatter': 'request', | |
| }, | |
| 'celery': { | |
| 'level': 'ERROR', | |
| 'filters': ['require_debug_false'], | |
| 'class': 'logging.handlers.RotatingFileHandler', | |
| 'filename': os.path.join(LOGS_DIR, 'celery.log'), | |
| 'maxBytes': 16 * 1024 * 1024, # 16 MB | |
| 'backupCount': 5, | |
| 'formatter': 'general', | |
| }, | |
| 'delayed_tasks': { | |
| 'level': 'INFO', | |
| #'filters': ['require_debug_false'], | |
| 'class': 'logging.handlers.RotatingFileHandler', | |
| 'filename': os.path.join(LOGS_DIR, 'delayed_tasks.log'), | |
| 'maxBytes': 16 * 1024 * 1024, # 16 MB | |
| 'backupCount': 5, | |
| 'formatter': 'general', | |
| }, | |
| 'apps': { | |
| 'level': 'WARNING', | |
| 'filters': ['require_debug_false'], | |
| 'class': 'logging.handlers.RotatingFileHandler', | |
| 'filename': os.path.join(LOGS_DIR, 'apps.log'), | |
| 'maxBytes': 16 * 1024 * 1024, # 16 MB | |
| 'backupCount': 5, | |
| 'formatter': 'general', | |
| }, | |
| 'api': { | |
| 'level': 'ERROR', | |
| 'filters': ['require_debug_false'], | |
| 'class': 'logging.handlers.RotatingFileHandler', | |
| 'filename': os.path.join(LOGS_DIR, 'api.log'), | |
| 'maxBytes': 16 * 1024 * 1024, # 16 MB | |
| 'backupCount': 5, | |
| 'formatter': 'general', | |
| }, | |
| }, | |
| 'loggers': { | |
| 'django': { | |
| 'handlers': ['django'], | |
| 'level': 'ERROR', | |
| 'propagate': False, | |
| }, | |
| 'django.request': { | |
| 'handlers': ['request', 'mail_admins'], | |
| 'level': 'ERROR', | |
| 'propagate': False, | |
| }, | |
| 'django.security': { | |
| 'handlers': ['security', 'mail_admins'], | |
| 'level': 'WARNING', | |
| 'propagate': False, | |
| }, | |
| 'django.db.backends': { | |
| 'handlers': ['db', 'mail_admins'], | |
| 'level': 'ERROR', | |
| 'propagate': False, | |
| }, | |
| 'celery': { | |
| 'handlers': ['celery'], | |
| 'level': 'ERROR', | |
| }, | |
| 'celery.task': { | |
| 'handlers': ['delayed_tasks'], | |
| 'level': 'INFO', | |
| }, | |
| 'apps': { | |
| 'handlers': ['apps'], | |
| 'level': 'WARNING', | |
| }, | |
| 'common': { | |
| 'handlers': ['apps'], | |
| 'level': 'WARNING', | |
| }, | |
| 'api': { | |
| 'handlers': ['api'], | |
| 'level': 'ERROR', | |
| }, | |
| 'py.warnings': { | |
| 'handlers': ['console'], | |
| 'propagate': False, | |
| }, | |
| '': { | |
| 'handlers': ['console'], | |
| 'level': 'DEBUG', | |
| }, | |
| } | |
| } |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment