Merge pull request #9700 from edx/shr/bug/AN-4509-Unicode-Decode-Error
LoggerBackend encoding for json dumps
This commit is contained in:
@@ -11,6 +11,7 @@ from track.backends import BaseBackend
|
||||
from track.utils import DateTimeJSONEncoder
|
||||
|
||||
log = logging.getLogger('track.backends.logger')
|
||||
application_log = logging.getLogger('track.backends.application_log') # pylint: disable=invalid-name
|
||||
|
||||
|
||||
class LoggerBackend(BaseBackend):
|
||||
@@ -33,7 +34,13 @@ class LoggerBackend(BaseBackend):
|
||||
self.event_logger = logging.getLogger(name)
|
||||
|
||||
def send(self, event):
|
||||
event_str = json.dumps(event, cls=DateTimeJSONEncoder)
|
||||
try:
|
||||
event_str = json.dumps(event, cls=DateTimeJSONEncoder)
|
||||
except UnicodeDecodeError:
|
||||
application_log.exception(
|
||||
"UnicodeDecodeError Event_type: %r, Event_source: %r, Page: %r, Referer: %r",
|
||||
event.get('event_type'), event.get('event_source'), event.get('page'), event.get('referer')
|
||||
)
|
||||
|
||||
# TODO: remove trucation of the serialized event, either at a
|
||||
# higher level during the emittion of the event, or by
|
||||
|
||||
Reference in New Issue
Block a user