code: def derive_logger(self, logger):
          
          parts = type(self).__module__.split(".")[1:]
          if parts[-1] == "service" and len(parts) > 1:
              del parts[-1]
  
          return logger.getChild(".".join(
              parts+[type(self).__qualname__]
          ))
docs: Return a child of `logger` specific for this instance. This is called
          after :attr:`client` has been set, from the constructor.
  
          The child name is calculated by the default implementation in a way
          specific for aioxmpp services; it is not meant to be used by
          non-:mod:`aioxmpp` classes; do not rely on the way how the child name
          is calculated.