ARIA-416 Providing handlers to logging_handlers only adds handles instead of replacing
diff --git a/aria/orchestrator/context/common.py b/aria/orchestrator/context/common.py index 90205fd..62b4c8e 100644 --- a/aria/orchestrator/context/common.py +++ b/aria/orchestrator/context/common.py
@@ -114,15 +114,20 @@ .format(name=self.__class__.__name__, self=self)) @contextmanager - def logging_handlers(self, handlers=None): + def logging_handlers(self, handlers): + original_handlers = self.logger.handlers handlers = handlers or [] try: for handler in handlers: self.logger.addHandler(handler) + for handler in original_handlers: + self.logger.removeHandler(handler) yield self.logger finally: - for handler in handlers: + for handler in self.logger.handlers[:]: self.logger.removeHandler(handler) + for handler in original_handlers: + self.logger.addHandler(handler) @property def model(self):