From 1ec1f33693a660a62d3a1f5bdc87e8973bfd5e08 Mon Sep 17 00:00:00 2001 From: Andrew Williams Date: Mon, 30 May 2011 21:17:57 +0100 Subject: [PATCH] Add django-sentry, remove debug-toolbar --- app/conf/common.py | 6 +++--- app/sso/tasks.py | 12 ++++++++++++ app/urls.py | 5 +++++ requirements.txt | 2 +- 4 files changed, 21 insertions(+), 4 deletions(-) diff --git a/app/conf/common.py b/app/conf/common.py index b8a5da2..70d6dcc 100644 --- a/app/conf/common.py +++ b/app/conf/common.py @@ -3,7 +3,7 @@ import djcelery # Debug settings DEBUG = False -TEMPLATE_DEBUG = DEBUG +TEMPLATE_DEBUG = True # Zone Settings TIME_ZONE = 'UTC' @@ -31,7 +31,6 @@ MIDDLEWARE_CLASSES = ( 'django.contrib.auth.middleware.AuthenticationMiddleware', 'django.contrib.messages.middleware.MessageMiddleware', 'sso.middleware.InactiveLogoutMiddleware', - 'debug_toolbar.middleware.DebugToolbarMiddleware', 'pagination.middleware.PaginationMiddleware', 'sso.middleware.IGBMiddleware', ) @@ -62,11 +61,12 @@ INSTALLED_APPS = ( 'django.contrib.sites', 'django.contrib.humanize', 'django.contrib.staticfiles', + 'sentry', + 'sentry.client', 'south', 'piston', 'djcelery', 'registration', - 'debug_toolbar', 'pagination', 'eve_proxy', 'eve_api', diff --git a/app/sso/tasks.py b/app/sso/tasks.py index a008a4c..51f8c1f 100644 --- a/app/sso/tasks.py +++ b/app/sso/tasks.py @@ -1,10 +1,22 @@ +import logging + +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 sso.models import ServiceAccount from django.contrib.auth.models import User from django.db.models import signals 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.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) # Signals that the tasks need to listen for def eveapi_deleted(sender, instance, **kwargs): diff --git a/app/urls.py b/app/urls.py index 5c39913..b227dc7 100644 --- a/app/urls.py +++ b/app/urls.py @@ -35,5 +35,10 @@ if installed('groups'): (r'^groups/', include('groups.urls')), ) +if installed('sentry'): + urlpatterns += patterns('', + (r'^sentry/', include('sentry.web.urls')), + ) + if settings.DEBUG: urlpatterns += staticfiles_urlpatterns() diff --git a/requirements.txt b/requirements.txt index 73764e3..b450c54 100644 --- a/requirements.txt +++ b/requirements.txt @@ -8,9 +8,9 @@ xmlrpclib==1.0.1 South==0.7.3 fabric flup -django-debug-toolbar simplejson celery==2.2.6 django-celery==2.2.4 -e git+https://github.com/ericflo/django-pagination.git@47e7ec874cd7dddda5ed#egg=django-pagination xmpppy +django-sentry