mirror of
				https://github.com/yt-dlp/yt-dlp.git
				synced 2025-10-30 22:25:19 +00:00 
			
		
		
		
	[rh] Remove additional logging handlers on close (#9032)
Fixes https://github.com/yt-dlp/yt-dlp/issues/8922 Authored by: coletdjnz
This commit is contained in:
		| @@ -90,10 +90,12 @@ class WebsocketsRH(WebSocketRequestHandler): | ||||
| 
 | ||||
|     def __init__(self, *args, **kwargs): | ||||
|         super().__init__(*args, **kwargs) | ||||
|         self.__logging_handlers = {} | ||||
|         for name in ('websockets.client', 'websockets.server'): | ||||
|             logger = logging.getLogger(name) | ||||
|             handler = logging.StreamHandler(stream=sys.stdout) | ||||
|             handler.setFormatter(logging.Formatter(f'{self.RH_NAME}: %(message)s')) | ||||
|             self.__logging_handlers[name] = handler | ||||
|             logger.addHandler(handler) | ||||
|             if self.verbose: | ||||
|                 logger.setLevel(logging.DEBUG) | ||||
| @@ -103,6 +105,12 @@ class WebsocketsRH(WebSocketRequestHandler): | ||||
|         extensions.pop('timeout', None) | ||||
|         extensions.pop('cookiejar', None) | ||||
| 
 | ||||
|     def close(self): | ||||
|         # Remove the logging handler that contains a reference to our logger | ||||
|         # See: https://github.com/yt-dlp/yt-dlp/issues/8922 | ||||
|         for name, handler in self.__logging_handlers.items(): | ||||
|             logging.getLogger(name).removeHandler(handler) | ||||
| 
 | ||||
|     def _send(self, request): | ||||
|         timeout = float(request.extensions.get('timeout') or self.timeout) | ||||
|         headers = self._merge_headers(request.headers) | ||||
|   | ||||
		Reference in New Issue
	
	Block a user
	 coletdjnz
					coletdjnz