code: def _app_get_logger(name):
      class SphinxLoggerAdapter:
          def _color_to_func(self, kwargs, default=""):
              return getattr(
                  sphinx.util.console,
                  kwargs.pop("color", default),
                  None,
              )
  
          def error(self, msg, *args, **kwargs):
              msg = msg % args
              colorfunc = self._color_to_func(kwargs, default="red")
              return _app.warn(colorfunc(msg), **kwargs)
  
          def critical(self, msg, *args, **kwargs):
              msg = msg % args
              colorfunc = self._color_to_func(kwargs, default="red")
              return _app.warn(colorfunc(msg), **kwargs)
  
          def warning(self, msg, *args, **kwargs):
              msg = msg % args
              colorfunc = self._color_to_func(kwargs)
              if colorfunc:
                  # colorfunc is a valid kwarg in 1.5, but not older, so we just
                  # apply it ourselves.
                  msg = colorfunc(msg)
              return _app.warn(msg, **kwargs)
  
          def info(self, msg="", *args, **kwargs):
              msg = msg % args
              colorfunc = self._color_to_func(kwargs)
              if colorfunc:
                  msg = colorfunc(msg)
              return _app.info(msg, **kwargs)
  
          def verbose(self, msg, *args, **kwargs):
              return _app.verbose(msg, *args, **kwargs)
  
          def debug(self, msg, *args, **kwargs):
              return _app.debug(msg, *args, **kwargs)
  
      return SphinxLoggerAdapter()
  
imports: from __future__ import division, absolute_import, print_function
  from distutils.version import LooseVersion
  import sphinx
  import sphinx.util
label_desc: Use image node_id 1 for calling a global function with example usage: _app_get_logger(name) and returns: SphinxLoggerAdapter, getattr, _app, _app, _app, _app, _app, _app