Skip to content
This repository has been archived by the owner on Jan 13, 2022. It is now read-only.

Commit

Permalink
Merge pull request #89 from pmclanahan/improve-error-reporting
Browse files Browse the repository at this point in the history
Improve error reporting to Sentry.
  • Loading branch information
jgmize committed Jan 6, 2014
2 parents 578446e + 5b19a78 commit 75ef22f
Show file tree
Hide file tree
Showing 3 changed files with 25 additions and 19 deletions.
25 changes: 7 additions & 18 deletions news/tasks.py
Original file line number Diff line number Diff line change
Expand Up @@ -137,8 +137,7 @@ def on_failure(self, exc, task_id, args, kwargs, einfo):
"""
statsd.incr(self.name + '.failure')
log.error("Task failed: %s(args=%r, kwargs=%r, exc=%r)"
% (self.name, args, kwargs, exc))
log.error("Task failed: %s" % self.name, exc_info=einfo.exc_info)
FailedTask.objects.create(
task_id=task_id,
name=self.name,
Expand All @@ -165,8 +164,7 @@ def on_retry(self, exc, task_id, args, kwargs, einfo):
"""
statsd.incr(self.name + '.retry')
log.warn("Task retrying: %s(args=%r, kwargs=%r, exc=%r)"
% (self.name, args, kwargs, exc))
log.warn("Task retrying: %s" % self.name, exc_info=einfo.exc_info)


def et_task(func):
Expand Down Expand Up @@ -350,7 +348,6 @@ def update_user(data, email, token, created, type, optin):
elif user_data.get('status', 'error') != 'ok':
# Error talking to ET - raise so we retry later
msg = "Some error with Exact Target: %r" % user_data
log.error(msg)
raise NewsletterException(msg)

if lang:
Expand Down Expand Up @@ -494,7 +491,7 @@ def send_message(message_id, email, token, format):
BAD_MESSAGE_ID_CACHE.set(message_id, True)
raise BasketError("ET says no such message ID: %r" % message_id)
elif 'There are no valid subscribers.' in e.message:
raise BasketError("ET rejected email address: %r" % email)
raise BasketError("ET says: there are no valid subscribers.")
# we should retry
raise

Expand Down Expand Up @@ -534,9 +531,7 @@ def send_confirm_notice(email, token, lang, format, newsletter_slugs):

# Is the language supported?
if not is_supported_newsletter_language(lang):
msg = "Cannot send confirmation message in language '%s' " \
"that is not a supported newsletter language" % lang
log.error(msg)
msg = "Cannot send confirmation in unsupported language '%s'." % lang
raise BasketError(msg)

# See if any newsletters have a custom confirmation message
Expand Down Expand Up @@ -621,21 +616,15 @@ def confirm_user(token, user_data):
from .views import get_user_data # Avoid circular import
user_data = get_user_data(token=token)
if user_data is None:
log.error(MSG_USER_NOT_FOUND)
raise BasketError(MSG_USER_NOT_FOUND)
if user_data['status'] == 'error':
msg = "error getting user data for %s: %s" % \
(token, user_data['desc'])
log.error(msg)
raise NewsletterException(msg)
raise NewsletterException('error getting user data')
if user_data['confirmed']:
log.info("In confirm_user, user with token %s "
"is already confirmed" % token)
return
if not 'email' in user_data or not user_data['email']:
msg = "in confirm_user, token %s has no email addr in ET" % token
log.error(msg)
raise BasketError(msg)
raise BasketError('token has no email in ET')

# Add user's token to the confirmation database at ET. A nightly
# task will somehow do something about it.
Expand Down Expand Up @@ -696,7 +685,7 @@ def send_recovery_message_task(email):

user_data = get_user_data(email=email, sync_data=True)
if not user_data:
log.error("In send_recovery_message_task, email not known: %s" % email)
log.warn("In send_recovery_message_task, email not known: %s" % email)
return

# make sure we have a language and format, no matter what ET returned
Expand Down
17 changes: 17 additions & 0 deletions settings/base.py
Original file line number Diff line number Diff line change
Expand Up @@ -147,6 +147,23 @@
'formatter': 'verbose'
}
},
'loggers': {
'django.db.backends': {
'level': 'ERROR',
'handlers': ['console'],
'propagate': False,
},
'raven': {
'level': 'WARNING',
'handlers': ['console'],
'propagate': False,
},
'sentry.errors': {
'level': 'WARNING',
'handlers': ['console'],
'propagate': False,
},
},
}

TEST_RUNNER = 'django_nose.NoseTestSuiteRunner'
2 changes: 1 addition & 1 deletion vendor
Submodule vendor updated 2 files
+1 −1 src/basket-client
+1 −1 src/raven

0 comments on commit 75ef22f

Please sign in to comment.