diff --git a/src/main.py b/src/main.py index 972aa4a..f3206c9 100644 --- a/src/main.py +++ b/src/main.py @@ -63,8 +63,21 @@ from kivy.logger import Logger # Kivy's Video widget subclasses Image, so its inherited image loader always # runs first and logs a harmless "Image: Error loading " for every # video (the real decoding is done by the ffpyplayer CoreVideo provider). -# Silence just that logger so genuine errors stay visible. -Logger.setLevel('Image', 'CRITICAL') +# Kivy routes every module through the single 'kivy' logger (the "[Image]" tag +# is just Kivy's message-prefix formatting), so drop only that one message and +# leave all other Kivy log records visible. +import logging + + +class _SuppressKivyImageNoise(logging.Filter): + def filter(self, record): + try: + return not record.getMessage().startswith('Image: Error loading') + except Exception: + return True + + +logging.getLogger('kivy').addFilter(_SuppressKivyImageNoise()) # Try to import evdev for card reader support (after Logger is available) try: