code: def _create_formatters(cp):
      """Create and return formatters"""
      flist = cp["formatters"]["keys"]
      if not len(flist):
          return {}
      flist = flist.split(",")
      flist = _strip_spaces(flist)
      formatters = {}
      for form in flist:
          sectname = "formatter_%s" % form
          fs = cp.get(sectname, "format", raw=True, fallback=None)
          dfs = cp.get(sectname, "datefmt", raw=True, fallback=None)
          stl = cp.get(sectname, "style", raw=True, fallback="%")
          defaults = cp.get(
              sectname, "defaults", raw=True, fallback=None
          )
  
          c = logging.Formatter
          class_name = cp[sectname].get("class")
          if class_name:
              c = _resolve(class_name)
  
          if defaults is not None:
              defaults = eval(defaults, vars(logging))
              f = c(fs, dfs, stl, defaults=defaults)
          else:
              f = c(fs, dfs, stl)
          formatters[form] = f
      return formatters
  
imports: import errno
  import functools
  import io
  import logging
  import logging.handlers
  import os
  import queue
  import re
  import struct
  import threading
  import traceback
  from socketserver import ThreadingTCPServer, StreamRequestHandler
label_desc: Use image node_id 4 for calling a global function with example usage: _create_formatters(cp) and returns: formatters, dict