diff options
-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 |