diff --git a/bazarr/app/logger.py b/bazarr/app/logger.py index abf832aa9..b2a3eeffd 100644 --- a/bazarr/app/logger.py +++ b/bazarr/app/logger.py @@ -55,6 +55,36 @@ class NoExceptionFormatter(logging.Formatter): def formatException(self, record): return '' + +class UnwantedWaitressMessageFilter(logging.Filter): + def filter(self, record): + if settings.general.debug == True: + # no filtering in debug mode + return True + + unwantedMessages = [ + "Exception while serving /api/socket.io/", + ['Session is disconnected', 'Session not found' ], + + "Exception while serving /api/socket.io/", + ["'Session is disconnected'", "'Session not found'" ], + + "Exception while serving /api/socket.io/", + ['"Session is disconnected"', '"Session not found"' ] + ] + + wanted = True + listLength = len(unwantedMessages) + for i in range(0, listLength, 2): + if record.msg == unwantedMessages[i]: + exceptionTuple = record.exc_info + if exceptionTuple != None: + if str(exceptionTuple[1]) in unwantedMessages[i+1]: + wanted = False + break + + return wanted + def configure_logging(debug=False): warnings.simplefilter('ignore', category=ResourceWarning) @@ -129,6 +159,7 @@ def configure_logging(debug=False): logging.getLogger("ga4mp.ga4mp").setLevel(logging.ERROR) logging.getLogger("waitress").setLevel(logging.ERROR) + logging.getLogger("waitress").addFilter(UnwantedWaitressMessageFilter()) logging.getLogger("knowit").setLevel(logging.CRITICAL) logging.getLogger("enzyme").setLevel(logging.CRITICAL) logging.getLogger("guessit").setLevel(logging.WARNING)