diff --git a/kazoo/client.py b/kazoo/client.py index 1830ca0b..d000688e 100644 --- a/kazoo/client.py +++ b/kazoo/client.py @@ -221,7 +221,9 @@ def __init__( self.logger = logger or log # Record the handler strategy used - self.handler = handler or SequentialThreadingHandler(logger=self.logger) + self.handler = handler + if not handler: + self.handler = SequentialThreadingHandler(logger=self.logger) if inspect.isclass(self.handler): raise ConfigurationError( "Handler must be an instance of a class, " diff --git a/kazoo/handlers/threading.py b/kazoo/handlers/threading.py index be610878..83eebc51 100644 --- a/kazoo/handlers/threading.py +++ b/kazoo/handlers/threading.py @@ -110,6 +110,8 @@ def running(self): return self._running def _create_thread_worker(self, work_queue): + log = self.logger + def _thread_worker(): # pragma: nocover while True: try: @@ -119,7 +121,7 @@ def _thread_worker(): # pragma: nocover break func() except Exception: - self.logger.exception("Exception in worker queue thread") + log.exception("Exception in worker queue thread") finally: work_queue.task_done() del func # release before possible idle