log.py 873 B

123456789101112131415161718192021222324252627282930
  1. """A PUB log handler."""
  2. import warnings
  3. from zmq.log.handlers import PUBHandler
  4. warnings.warn(
  5. "ipykernel.log is deprecated since ipykernel 4.3.0 (2016). It has moved to ipyparallel.engine.log",
  6. DeprecationWarning,
  7. stacklevel=2,
  8. )
  9. class EnginePUBHandler(PUBHandler):
  10. """A simple PUBHandler subclass that sets root_topic"""
  11. engine = None
  12. def __init__(self, engine, *args, **kwargs):
  13. """Initialize the handler."""
  14. PUBHandler.__init__(self, *args, **kwargs)
  15. self.engine = engine
  16. @property # type:ignore[misc]
  17. def root_topic(self):
  18. """this is a property, in case the handler is created
  19. before the engine gets registered with an id"""
  20. if isinstance(getattr(self.engine, "id", None), int):
  21. return "engine.%i" % self.engine.id # type:ignore[union-attr]
  22. return "engine"