def detach(self): """Restore the original handers to the main logger""" if self.handler is None: raise AttributeError("Handler not set. Possibly not attached.") removeHandler(self.handler) for handler in self.__old: addHandler(handler) self.handler = None self.__old = []
def test_addRemoveHandlers(self): """Test that the add/remove handler functions work.""" with self.assertRaises(TypeError): addHandler(1) addHandler(self.handler) self.assertIn(self.handler, __logger__.handlers, msg="addHandler did not add the handler") removeHandler(self.handler) self.assertNotIn(self.handler, __logger__.handlers, msg="removeHandler did not remove the handler")
def attach(self, level=NOTSET): """ Attach the :class:`serpentTools.messages.DictHandler` Removes all :class:`logging.Handler` objects from the old logger, and puts them back when :class:`detach` is called Parameters ---------- level: int Initial level to apply to handler """ self.handler = DictHandler(level) self.__old = __logger__.handlers for handler in self.__old: removeHandler(handler) addHandler(self.handler)