Fix installation failure when Kodi logging is disabled
Some checks failed
Build JellyCon / build (py2) (push) Has been cancelled
Build JellyCon / build (py3) (push) Has been cancelled
CodeQL Analysis / analyze (python, 3.9) (push) Has been cancelled
Release Drafter / Update release draft (push) Has been cancelled
Test JellyCon / test (3.9) (push) Has been cancelled

Add exception handling in LogHandler.emit() to prevent crashes
when xbmc.log() fails due to globally disabled logging in Kodi.
This commit is contained in:
mani
2026-01-06 01:03:53 +01:00
parent 44ad891242
commit 7d6ee45263

View File

@@ -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):