From 7d6ee452633daa35abc8863e46b9b23abc360a8c Mon Sep 17 00:00:00 2001 From: mani Date: Tue, 6 Jan 2026 01:03:53 +0100 Subject: [PATCH] Fix installation failure when Kodi logging is disabled Add exception handling in LogHandler.emit() to prevent crashes when xbmc.log() fails due to globally disabled logging in Kodi. --- resources/lib/loghandler.py | 28 ++++++++++++++++------------ 1 file changed, 16 insertions(+), 12 deletions(-) diff --git a/resources/lib/loghandler.py b/resources/lib/loghandler.py index c868f27..a89724c 100644 --- a/resources/lib/loghandler.py +++ b/resources/lib/loghandler.py @@ -39,20 +39,24 @@ class LogHandler(logging.StreamHandler): def emit(self, record): if self._get_log_level(record.levelno): - string = self.format(record) + try: + string = self.format(record) - # Hide server URL in logs - string = string.replace( - self.server or "{server}", "{jellyfin-server}" - ) + # Hide server URL in logs + string = string.replace( + self.server or "{server}", "{jellyfin-server}" + ) - py_version = sys.version_info.major - # Log level notation changed in Kodi v19 - if py_version > 2: - log_level = xbmc.LOGINFO - else: - log_level = xbmc.LOGNOTICE - xbmc.log(string, level=log_level) + py_version = sys.version_info.major + # Log level notation changed in Kodi v19 + if py_version > 2: + log_level = xbmc.LOGINFO + else: + log_level = xbmc.LOGNOTICE + xbmc.log(string, level=log_level) + except Exception: + # Silently fail if logging is disabled globally in Kodi + pass def _get_log_level(self, level):