diff options
author | Armin Ronacher <armin.ronacher@active-4.com> | 2016-05-14 01:42:40 +0200 |
---|---|---|
committer | Armin Ronacher <armin.ronacher@active-4.com> | 2016-05-14 01:42:40 +0200 |
commit | c4293b4e0f99e6550446e7e66825984935c6a2c1 (patch) | |
tree | d4292bc894d6189fbe0c57e1d276ab3a31243627 | |
parent | a4c7f0c36b6ba17f736f76e356102fe214348210 (diff) | |
download | raven-bugfix/resiliant-log.tar.gz |
Capture down breadcrumb failuresbugfix/resiliant-log
-rw-r--r-- | raven/breadcrumbs.py | 11 |
1 files changed, 9 insertions, 2 deletions
diff --git a/raven/breadcrumbs.py b/raven/breadcrumbs.py index 2ef13c5..803c9c5 100644 --- a/raven/breadcrumbs.py +++ b/raven/breadcrumbs.py @@ -11,6 +11,9 @@ from raven.utils import once special_logger_handlers = {} +logger = logging.getLogger('raven') + + class BreadcrumbBuffer(object): def __init__(self, limit=100): @@ -39,9 +42,13 @@ class BreadcrumbBuffer(object): rv = [] for idx, (payload, processor) in enumerate(self.buffer): if processor is not None: - processor(payload) + try: + processor(payload) + except Exception: + logger.exception('Failed to process breadcrumbs. Ignored') self.buffer[idx] = (payload, None) - rv.append(payload) + if payload is not None: + rv.append(payload) return rv |