code: def define_logger_func(self, level, field_names, default=NO_DEFAULT,
                             filters=None, include_exc_info=False):
          
          kv_formatter = KvFormatter(field_names, default, filters)
          return lambda *a, **kw: self._log(level, kv_formatter(*a, **kw),
                                            include_exc_info)
docs: Define a new logger function that will log the given arguments
          with the given predefined keys.
  
          :param level:
              The log level to use for each call.
          :param field_names:
              Set of predefined keys.
          :param default:
              A default value for each key.
          :param filters:
              Additional filters for treating given arguments.
          :param include_exc_info:
              Include a stack trace with the log.  Useful for the ``ERROR``
              log level.
          :return:
              A function that will log given values with the predefined
              keys and the given log level.