summaryrefslogtreecommitdiff
path: root/plugin.video.rtpplay/resources/lib/kodilogging.py
diff options
context:
space:
mode:
authorenen92 <92enen@gmail.com>2017-12-23 19:05:39 +0000
committerMartijn Kaijser <martijn@xbmc.org>2017-12-23 19:24:22 +0000
commita1fcc37ab405abee0aa4ef231317c4eb0b292618 (patch)
treec63ba807d1ddb19a41d8ee1a74443e50a253d2c5 /plugin.video.rtpplay/resources/lib/kodilogging.py
parent504b4ebe45e92a02b548c8730fdc7504b7976791 (diff)
[plugin.video.rtpplay] 3.0.0
Diffstat (limited to 'plugin.video.rtpplay/resources/lib/kodilogging.py')
-rw-r--r--plugin.video.rtpplay/resources/lib/kodilogging.py43
1 files changed, 43 insertions, 0 deletions
diff --git a/plugin.video.rtpplay/resources/lib/kodilogging.py b/plugin.video.rtpplay/resources/lib/kodilogging.py
new file mode 100644
index 0000000..5f42ab7
--- /dev/null
+++ b/plugin.video.rtpplay/resources/lib/kodilogging.py
@@ -0,0 +1,43 @@
+# -*- coding: utf-8 -*-
+
+from __future__ import unicode_literals
+from resources.lib.kodiutils import get_setting_as_bool
+
+import logging
+import xbmc
+import xbmcaddon
+
+
+class KodiLogHandler(logging.StreamHandler):
+
+ def __init__(self):
+ logging.StreamHandler.__init__(self)
+ addon_id = xbmcaddon.Addon().getAddonInfo('id')
+ prefix = b"[%s] " % addon_id
+ formatter = logging.Formatter(prefix + b'%(name)s: %(message)s')
+ self.setFormatter(formatter)
+
+ def emit(self, record):
+ levels = {
+ logging.CRITICAL: xbmc.LOGFATAL,
+ logging.ERROR: xbmc.LOGERROR,
+ logging.WARNING: xbmc.LOGWARNING,
+ logging.INFO: xbmc.LOGINFO,
+ logging.DEBUG: xbmc.LOGDEBUG,
+ logging.NOTSET: xbmc.LOGNONE,
+ }
+ if get_setting_as_bool('debug'):
+ try:
+ xbmc.log(self.format(record), levels[record.levelno])
+ except UnicodeEncodeError:
+ xbmc.log(self.format(record).encode(
+ 'utf-8', 'ignore'), levels[record.levelno])
+
+ def flush(self):
+ pass
+
+
+def config():
+ logger = logging.getLogger()
+ logger.addHandler(KodiLogHandler())
+ logger.setLevel(logging.DEBUG)