summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--raven/breadcrumbs.py11
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