docs: def add_logging_level(level_name, level_num, method_name=None):
      """Add new logging level
  
      Comprehensively adds a new logging level to the `logging` module and the currently configured logging class.
  
      `method_name` becomes a convenience method for both `logging` itself and the class returned by
      `logging.getLoggerClass()` (usually just `logging.Logger`). If `method_name` is not specified, `level_name.lower()`
      is used.
  
      :param str level_name: the level name
      :param int level_num: the level number/value
      :raises AttributeError: if the level
      name is already an attribute of the `logging` module or if the method name is already present
  
      Example
      -------
      >>> add_logging_level('TRACE', logging.DEBUG - 5)
      >>> logging.getLogger(__name__).setLevel("TRACE")
      >>> logging.getLogger(__name__).trace('that worked')
      >>> logging.trace('so did this')
      >>> logging.TRACE
      5
  
      """
      if not method_name:
          method_name = level_name.lower()
  
      if hasattr(logging, level_name):
          raise AttributeError('{} already defined in logging module'.format(level_name))
      if hasattr(logging, method_name):
          raise AttributeError('{} already defined in logging module'.format(method_name))
      if hasattr(logging.getLoggerClass(), method_name):
          raise AttributeError('{} already defined in logger class'.format(method_name))
  
      # This method was inspired by the answers to Stack Overflow post
      # http://stackoverflow.com/q/2183233/2988730, especially
      # http://stackoverflow.com/a/13638084/2988730
      def log_for_level(self, message, *args, **kwargs):
          if self.isEnabledFor(level_num):
              self._log(level_num, message, args, **kwargs)
      def log_to_root(message, *args, **kwargs):
          logging.log(level_num, message, *args, **kwargs)
  
      logging.addLevelName(level_num, level_name)
      setattr(logging, level_name, level_num)
      setattr(logging.getLoggerClass(), method_name, log_for_level)
      setattr(logging, method_name, log_to_root)