code: def tree():
      
      root = ('', logging.root, [])
      nodes = {}
      items = list(logging.root.manager.loggerDict.items())  # for Python 2 and 3
      items.sort()
      for name, logger in items:
          nodes[name] = node = (name, logger, [])
          i = name.rfind('.', 0, len(name) - 1)  # same formula used in `logging`
          if i == -1:
              parent = root
          else:
              parent = nodes[name[:i]]
          parent[2].append(node)
      return root
docs: Return a tree of tuples representing the logger layout.
  
      Each tuple looks like ``('logger-name', <Logger>, [...])`` where the
      third element is a list of zero or more child tuples that share the
      same layout.