diff --git a/eshop_project/settings/base.py b/eshop_project/settings/base.py index 3eca0a6..f23ad26 100644 --- a/eshop_project/settings/base.py +++ b/eshop_project/settings/base.py @@ -150,12 +150,6 @@ LOGIN_REDIRECT_URL = reverse_lazy('index:index') # Email backend settings EMAIL_BACKEND = 'djcelery_email.backends.CeleryEmailBackend' -EMAIL_USE_TLS = env.bool('EMAIL_USE_TLS') -EMAIL_USE_SSL = env.bool("EMAIL_USE_SSL") -EMAIL_HOST = env.str('EMAIL_HOST') -EMAIL_PORT = env.int('EMAIL_PORT') -EMAIL_HOST_USER = env.str('EMAIL_HOST_USER') -EMAIL_HOST_PASSWORD = env.str('EMAIL_HOST_PASSWORD') # Email fake validation settings DISPOSABLE_EMAIL_DOMAINS = os.path.join(TEMPLATE_DIR, 'emails/disposable_email_domains.txt') @@ -182,6 +176,59 @@ AUTH_PASSWORD_VALIDATORS = [ }, ] +# Logging +LOGGING = { + 'version': 1, + 'disable_existing_loggers': False, + 'filters': { + 'require_debug_false': { + '()': 'django.utils.log.RequireDebugFalse' + }, + 'require_debug_true': { + '()': 'django.utils.log.RequireDebugTrue' + } + }, + 'formatters': { + 'main_formatter': { + 'format' : '%(levelname)s:%(name)s: %(message)s:' + '(%(asctime)s; %(filename)s:%(lineno)d)', + 'datefmt': '%Y-%m-%d %H:%M:%S' + }, + }, + 'handlers': { + 'mail_admins': { + 'level': 'ERROR', + 'filters': ['require_debug_false'], + 'class': 'django.utils.log.AdminEmailHandler' + }, + 'production_file': { + 'level': 'DEBUG', + 'class': 'logging.handlers.RotatingFileHandler', + 'filename': '/var/log/eshop_main_prod.log', + 'maxBytes': 1024*1024*5, + 'backupCount': 7, + 'formatter': 'main_formatter', + 'filters': ['require_debug_false'] + }, + 'debug_file': { + 'level': 'DEBUG', + 'class': 'logging.handlers.RotatingFileHandler', + 'filename': '/var/log/eshop_main_dev.log', + 'maxBytes': 1024*1024*5, + 'backupCount': 7, + 'formatter': 'main_formatter', + 'filters': ['require_debug_true'] + }, + }, + 'loggers': { + 'django.request': { + 'handlers': ['mail_admins'], + 'level': 'ERROR', + 'propagate': True + } + } +} + # Internationalization # https://docs.djangoproject.com/en/1.10/topics/i18n/ diff --git a/eshop_project/settings/development.py b/eshop_project/settings/development.py index d1db256..33a8079 100644 --- a/eshop_project/settings/development.py +++ b/eshop_project/settings/development.py @@ -14,6 +14,14 @@ DATABASES = { } } +# Email server settings +EMAIL_USE_TLS = env.bool('EMAIL_USE_TLS') +EMAIL_USE_SSL = env.bool("EMAIL_USE_SSL") +EMAIL_HOST = env.str('EMAIL_HOST') +EMAIL_PORT = env.int('EMAIL_PORT') +EMAIL_HOST_USER = env.str('EMAIL_HOST_USER') +EMAIL_HOST_PASSWORD = env.str('EMAIL_HOST_PASSWORD') + # Logging settings LOGGING = { diff --git a/eshop_project/settings/production.py b/eshop_project/settings/production.py index 8df8620..965edef 100644 --- a/eshop_project/settings/production.py +++ b/eshop_project/settings/production.py @@ -14,29 +14,11 @@ ADMINS = ( MANAGERS = ADMINS DEFAULT_FROM_EMAIL = 'notreply@russianprograms' - -# Logging settings - -LOGGING = { - 'version': 1, - 'disable_existing_loggers': False, - 'filters': { - 'require_debug_false': { - '()': 'django.utils.RequireDebugFalse' - } - }, - 'handlers': { - 'mail_admins': { - 'level': 'ERROR', - 'filters': ['require_debug_false'], - 'class': 'django.utils.log.AdminEmailHandler' - } - }, - 'loggers': { - 'django.request': { - 'handlers': ['mail_admins'], - 'level': 'ERROR', - 'propagate': True - } - } -} +# Email config +EMAIL_CONFIG = env.email_url('EMAIL_URL') +EMAIL_USE_TLS = EMAIL_CONFIG.get('EMAIL_USE_TLS') +EMAIL_USE_SSL = EMAIL_CONFIG.get("EMAIL_USE_SSL") +EMAIL_HOST = EMAIL_CONFIG.get('EMAIL_HOST') +EMAIL_PORT = EMAIL_CONFIG.get('EMAIL_PORT') +EMAIL_HOST_USER = EMAIL_CONFIG.get('EMAIL_HOST_USER') +EMAIL_HOST_PASSWORD = EMAIL_CONFIG.get('EMAIL_HOST_PASSWORD')