diff --git a/roles/pagure/frontend/templates/pagure.cfg b/roles/pagure/frontend/templates/pagure.cfg index f20c2b9431..b760827a9e 100644 --- a/roles/pagure/frontend/templates/pagure.cfg +++ b/roles/pagure/frontend/templates/pagure.cfg @@ -223,6 +223,7 @@ OLD_VIEW_COMMIT_ENABLED = True PAGURE_CI_SERVICES=['jenkins'] +from pagure.mail_logging import ContextInjector, MSG_FORMAT LOGGING = { 'version': 1, 'disable_existing_loggers': False, @@ -230,6 +231,14 @@ LOGGING = { 'standard': { 'format': '%(asctime)s [%(levelname)s] %(name)s: %(message)s' }, + 'email_format': { + 'format': MSG_FORMAT + } + }, + 'filters': { + 'myfilter': { + '()': ContextInjector, + } }, 'handlers': { 'console': { @@ -238,12 +247,22 @@ LOGGING = { 'class': 'logging.StreamHandler', 'stream': 'ext://sys.stdout', }, + 'email': { + 'level': 'ERROR', + 'formatter': 'email_format', + 'class': 'logging.handlers.SMTPHandler', + 'mailhost': 'localhost', + 'fromaddr': 'pagure@localhost', + 'toaddrs': 'root@localhost', + 'subject': 'ERROR on pagure', + 'filters': ['myfilter'], + }, }, # The root logger configuration; this is a catch-all configuration # that applies to all log messages not handled by a different logger 'root': { 'level': 'INFO', - 'handlers': ['console'], + 'handlers': ['console', 'email'], }, 'loggers': { 'pagure': { @@ -251,11 +270,6 @@ LOGGING = { 'level': 'DEBUG', 'propagate': True }, - 'pagure.lib.encoding_utils': { - 'handlers': ['console'], - 'level': 'WARN', - 'propagate': False - }, 'flask': { 'handlers': ['console'], 'level': 'INFO', @@ -271,10 +285,14 @@ LOGGING = { 'level': 'WARN', 'propagate': True }, + 'pagure.lib.encoding_utils': { + 'handlers': ['console'], + 'level': 'WARN', + 'propagate': False + }, } } - CROSS_PROJECT_ACLS = [ 'create_project', 'fork_project',