Пример #1
0
 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 = []
Пример #2
0
 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")
Пример #3
0
    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)