<SYSTEM_TASK:>
Solve the following problem using Python, implementing the functions described below, one line at a time
<END_TASK>
<USER_TASK:>
Description:
 def define_logger_func(self, level, field_names, default=NO_DEFAULT, filters=None, include_exc_info=False):
 """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. """

        kv_formatter = KvFormatter(field_names, default, filters)
        return lambda *a, **kw: self._log(level, kv_formatter(*a, **kw),
                                          include_exc_info)