diff --git a/app/api/resource.py b/app/api/resource.py index d73818f..98dd31d 100644 --- a/app/api/resource.py +++ b/app/api/resource.py @@ -1,7 +1,6 @@ import sys import logging -from sentry.client.handlers import SentryHandler from piston.resource import Resource class SentryResource(Resource): @@ -9,7 +8,6 @@ class SentryResource(Resource): def error_handler(self, e, request, meth, em_format): logger = logging.getLogger('piston') - logger.addHandler(SentryHandler()) logger.error('Piston exception: %s(%s)' % (e.__class__.__name__, e), exc_info=sys.exc_info(), extra={'data': {'handler': meth.im_class, 'request': request, 'get': dict(request.GET), 'post': dict(request.POST) }}) diff --git a/app/conf/common.py b/app/conf/common.py index 3685a3b..ead1599 100644 --- a/app/conf/common.py +++ b/app/conf/common.py @@ -145,3 +145,43 @@ GARGOYLE_SWITCH_DEFAULTS = { } } + +LOGGING = { + 'version': 1, + 'disable_existing_loggers': True, + 'handlers': { + 'null': { + 'level':'DEBUG', + 'class':'django.utils.log.NullHandler', + }, + 'mail_admins': { + 'level': 'ERROR', + 'class': 'django.utils.log.AdminEmailHandler', + }, + 'sentry': { + 'level': 'DEBUG', + 'class': 'sentry.client.handlers.SentryHandler', + }, + }, + 'loggers': { + '()': { + 'level': 'WARNING', + 'handlers': ['sentry'], + }, + 'sentry.errors': { + 'level': 'DEBUG', + 'handlers': ['null'], + 'propagate': False, + }, + 'django': { + 'handlers':['null'], + 'propagate': True, + 'level':'INFO', + }, + 'django.request': { + 'handlers': ['mail_admins'], + 'level': 'ERROR', + 'propagate': False, + }, + } +} diff --git a/app/sso/tasks.py b/app/sso/tasks.py index e31cd65..91f7e00 100644 --- a/app/sso/tasks.py +++ b/app/sso/tasks.py @@ -6,7 +6,6 @@ from django.db.models import signals from django.contrib.auth.models import User from celery.signals import task_failure from celery.decorators import task -from sentry.client.handlers import SentryHandler from eve_api.models import EVEAccount, EVEPlayerCorporation, EVEPlayerAlliance from eve_api.app_defines import * @@ -15,10 +14,9 @@ from reddit.tasks import update_user_flair from utils import installed # Add Sentry error logging for Celery -logger = logging.getLogger('task') -logger.addHandler(SentryHandler()) def process_failure_signal(exception, traceback, sender, task_id, signal, args, kwargs, einfo, **kw): exc_info = (type(exception), exception, traceback) + logger = logging.getLogger('celery.task') logger.error('Celery job exception: %s(%s)' % (exception.__class__.__name__, exception), exc_info=exc_info, extra={'data': {'task_id': task_id, 'sender': sender, 'args': args, 'kwargs': kwargs, }}) task_failure.connect(process_failure_signal)