From 565f26bdadec036df43d59ab82a0685fe72b8baf Mon Sep 17 00:00:00 2001
From: jobevers <jobevers@users.noreply.github.com>
Date: Sun, 29 Jan 2017 13:47:00 -0800
Subject: [PATCH] switch error event to use log record and add more details

---
 lbrynet/analytics/events.py          | 9 ++++++---
 lbrynet/analytics/logging_handler.py | 2 +-
 lbrynet/analytics/manager.py         | 4 ++--
 3 files changed, 9 insertions(+), 6 deletions(-)

diff --git a/lbrynet/analytics/events.py b/lbrynet/analytics/events.py
index 353e93073..6d6b0633f 100644
--- a/lbrynet/analytics/events.py
+++ b/lbrynet/analytics/events.py
@@ -60,10 +60,13 @@ class Events(object):
         properties = download_properties(*args, **kwargs)
         return self._event('Download Finished', properties)
 
-    def error(self, message, sd_hash=None):
+    def error(self, log_record):
+        """Record when a log message of ERROR or higher was emitted"""
         properties = {
-            'message': message,
-            'stream_info': sd_hash
+            'message': log_record.message,
+            'module': log_record.module,
+            'lineno': log_record.lineno,
+            'name': log_record.name,
         }
         return self._event('Error', properties)
 
diff --git a/lbrynet/analytics/logging_handler.py b/lbrynet/analytics/logging_handler.py
index fc932e6db..14dbf2e28 100644
--- a/lbrynet/analytics/logging_handler.py
+++ b/lbrynet/analytics/logging_handler.py
@@ -8,4 +8,4 @@ class Handler(logging.Handler):
         logging.Handler.__init__(self, level)
 
     def emit(self, record):
-        self.manager.send_error(record.message)
+        self.manager.send_error(record)
diff --git a/lbrynet/analytics/manager.py b/lbrynet/analytics/manager.py
index 135ffd602..d02dbb024 100644
--- a/lbrynet/analytics/manager.py
+++ b/lbrynet/analytics/manager.py
@@ -82,8 +82,8 @@ class Manager(object):
         event = self.events_generator.download_finished(id_, name, stream_info)
         self.analytics_api.track(event)
 
-    def send_error(self, message, sd_hash=None):
-        event = self.events_generator.error(message, sd_hash)
+    def send_error(self, message):
+        event = self.events_generator.error(message)
         self.analytics_api.track(event)
 
     def register_repeating_metric(self, event_name, value_generator, frequency=300):