Added ADMINS setting

This commit is contained in:
Raphael Michel
2015-06-29 19:53:35 +02:00
parent 71b2564e51
commit 9adb5c3e12
3 changed files with 24 additions and 2 deletions

View File

@@ -136,6 +136,9 @@ Example::
``tls``, ``ssl`` ``tls``, ``ssl``
Use STARTTLS or SSL for the SMTP connection. Off by default. Use STARTTLS or SSL for the SMTP connection. Off by default.
``admins``
Comma-separated list of e-mail addresses that should receive a report about every error 500 thrown by pretix.
Django settings Django settings
--------------- ---------------

View File

@@ -0,0 +1,7 @@
import logging
from django.conf import settings
class AdminExistsFilter(logging.Filter):
def filter(self, record):
return not settings.DEBUG and len(settings.ADMINS) > 0

View File

@@ -69,6 +69,8 @@ EMAIL_PORT = config.getint('mail', 'port', fallback=25)
EMAIL_HOST_USER = config.get('mail', 'user', fallback='') EMAIL_HOST_USER = config.get('mail', 'user', fallback='')
EMAIL_HOST_PASSWORD = config.get('mail', 'password', fallback='') EMAIL_HOST_PASSWORD = config.get('mail', 'password', fallback='')
ADMINS = [('Admin', n) for n in config.get('mail', 'admins', fallback='').split(",") if n]
SESSION_COOKIE_SECURE = SESSION_COOKIE_HTTPONLY = config.getboolean( SESSION_COOKIE_SECURE = SESSION_COOKIE_HTTPONLY = config.getboolean(
'pretix', 'securecookie', fallback=False) 'pretix', 'securecookie', fallback=False)
LANGUAGE_COOKIE_DOMAIN = SESSION_COOKIE_DOMAIN = CSRF_COOKIE_DOMAIN = config.get( LANGUAGE_COOKIE_DOMAIN = SESSION_COOKIE_DOMAIN = CSRF_COOKIE_DOMAIN = config.get(
@@ -231,6 +233,11 @@ LOGGING = {
'format': '%(levelname)s %(asctime)s %(name)s %(module)s %(message)s' 'format': '%(levelname)s %(asctime)s %(name)s %(module)s %(message)s'
}, },
}, },
'filters': {
'require_admin_enabled': {
'()': 'pretix.helpers.logs.AdminExistsFilter',
}
},
'handlers': { 'handlers': {
'console': { 'console': {
'level': loglevel, 'level': loglevel,
@@ -243,6 +250,11 @@ LOGGING = {
'filename': os.path.join(LOG_DIR, 'pretix.log'), 'filename': os.path.join(LOG_DIR, 'pretix.log'),
'formatter': 'default' 'formatter': 'default'
}, },
'mail_admins': {
'level': 'ERROR',
'class': 'django.utils.log.AdminEmailHandler',
'filters': ['require_admin_enabled']
}
}, },
'loggers': { 'loggers': {
'': { '': {
@@ -251,12 +263,12 @@ LOGGING = {
'propagate': True, 'propagate': True,
}, },
'django.request': { 'django.request': {
'handlers': ['file', 'console'], 'handlers': ['file', 'console', 'mail_admins'],
'level': loglevel, 'level': loglevel,
'propagate': True, 'propagate': True,
}, },
'django.security': { 'django.security': {
'handlers': ['file', 'console'], 'handlers': ['file', 'console', 'mail_admins'],
'level': loglevel, 'level': loglevel,
'propagate': True, 'propagate': True,
}, },