Commit 0f67d19a by Syed Hassan Raza

Add logging for UnicodeDecodeError excpetion LoggerBackend

parent 46150800
...@@ -11,6 +11,7 @@ from track.backends import BaseBackend ...@@ -11,6 +11,7 @@ from track.backends import BaseBackend
from track.utils import DateTimeJSONEncoder from track.utils import DateTimeJSONEncoder
log = logging.getLogger('track.backends.logger') log = logging.getLogger('track.backends.logger')
application_log = logging.getLogger('track.backends.application_log') # pylint: disable=invalid-name
class LoggerBackend(BaseBackend): class LoggerBackend(BaseBackend):
...@@ -33,7 +34,13 @@ class LoggerBackend(BaseBackend): ...@@ -33,7 +34,13 @@ class LoggerBackend(BaseBackend):
self.event_logger = logging.getLogger(name) self.event_logger = logging.getLogger(name)
def send(self, event): 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 # TODO: remove trucation of the serialized event, either at a
# higher level during the emittion of the event, or by # higher level during the emittion of the event, or by
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment