|
1 | 1 | from __future__ import absolute_import
|
2 | 2 | from __future__ import print_function
|
3 | 3 |
|
4 |
| -import sys |
5 | 4 | import logging
|
6 | 5 | import datetime
|
7 | 6 |
|
@@ -59,33 +58,34 @@ def _breadcrumb_from_record(self, record):
|
59 | 58 | }
|
60 | 59 |
|
61 | 60 | def _emit(self, record):
|
62 |
| - add_breadcrumb(self._breadcrumb_from_record(record)) |
63 |
| - |
64 |
| - if not self._should_create_event(record): |
65 |
| - return |
66 |
| - |
67 | 61 | if not self.can_record(record):
|
68 |
| - print(to_string(record.message), file=sys.stderr) |
69 | 62 | return
|
70 | 63 |
|
71 |
| - event = Event() |
72 |
| - |
73 |
| - # exc_info might be None or (None, None, None) |
74 |
| - if record.exc_info and all(record.exc_info): |
75 |
| - exc_type, exc_value, tb = record.exc_info |
76 |
| - event.set_exception( |
77 |
| - exc_type, |
78 |
| - exc_value, |
79 |
| - skip_internal_frames(tb), |
80 |
| - get_current_hub().client.options["with_locals"], |
81 |
| - ) |
| 64 | + if self._should_create_event(record): |
| 65 | + with _internal_exceptions(): |
| 66 | + event = Event() |
| 67 | + |
| 68 | + # exc_info might be None or (None, None, None) |
| 69 | + if record.exc_info and all(record.exc_info): |
| 70 | + exc_type, exc_value, tb = record.exc_info |
| 71 | + event.set_exception( |
| 72 | + exc_type, |
| 73 | + exc_value, |
| 74 | + skip_internal_frames(tb), |
| 75 | + get_current_hub().client.options["with_locals"], |
| 76 | + ) |
| 77 | + |
| 78 | + event["level"] = self._logging_to_event_level(record.levelname) |
| 79 | + event["logger"] = record.name |
| 80 | + event["logentry"] = { |
| 81 | + "message": to_string(record.msg), |
| 82 | + "params": record.args, |
| 83 | + } |
| 84 | + |
| 85 | + capture_event(event) |
82 | 86 |
|
83 |
| - event["level"] = self._logging_to_event_level(record.levelname) |
84 |
| - event["logger"] = record.name |
85 |
| - |
86 |
| - event["logentry"] = {"message": to_string(record.msg), "params": record.args} |
87 |
| - |
88 |
| - capture_event(event) |
| 87 | + with _internal_exceptions(): |
| 88 | + add_breadcrumb(self._breadcrumb_from_record(record)) |
89 | 89 |
|
90 | 90 | def _logging_to_event_level(self, levelname):
|
91 | 91 | return {"critical": "fatal"}.get(levelname.lower(), levelname.lower())
|
|
0 commit comments