docs: def inject_print_functions(module_name=None, module_prefix='[???]',
                             DEBUG=False, module=None):
      """
      makes print functions to be injected into the module
      """
      module = _get_module(module_name, module)
      if SILENT:
          def print(*args):
              """ silent builtins.print """
              pass
          def printDBG(*args):
              """ silent debug print """
              pass
          def print_(*args):
              """ silent stdout.write """
              pass
      else:
          if DEBUG_PRINT:
              # Turns on printing where a message came from
              def print(*args):
                  """ debugging logging builtins.print """
                  from utool._internal.meta_util_dbg import get_caller_name
                  calltag = ''.join(('[caller:', get_caller_name(N=DEBUG_PRINT_N), ']' ))
                  util_logging._utool_print()(calltag, *args)
          else:
              def print(*args):
                  """ logging builtins.print """
                  util_logging._utool_print()(*args)
  
          if __AGGROFLUSH__:
              def print_(*args):
                  """ aggressive logging stdout.write """
                  util_logging._utool_write()(*args)
                  util_logging._utool_flush()()
          else:
              def print_(*args):
                  """ logging stdout.write """
                  util_logging._utool_write()(*args)
  
          # turn on module debugging with command line flags
          dotpos = module.__name__.rfind('.')
          if dotpos == -1:
              module_name = module.__name__
          else:
              module_name = module.__name__[dotpos + 1:]
          def _replchars(str_):
              return str_.replace('_', '-').replace(']', '').replace('[', '')
          flag1 = '--debug-%s' % _replchars(module_name)
          flag2 = '--debug-%s' % _replchars(module_prefix)
          DEBUG_FLAG = any([flag in sys.argv for flag in [flag1, flag2]])
          for curflag in ARGV_DEBUG_FLAGS:
              if curflag in module_prefix:
                  DEBUG_FLAG = True
          if __DEBUG_ALL__ or DEBUG or DEBUG_FLAG:
              print('INJECT_PRINT: %r == %r' % (module_name, module_prefix))
              def printDBG(*args):
                  """ debug logging print """
                  msg = ', '.join(map(str, args))
                  util_logging.__UTOOL_PRINTDBG__(module_prefix + ' DEBUG ' + msg)
          else:
              def printDBG(*args):
                  """ silent debug logging print """
                  pass
      #_inject_funcs(module, print, print_, printDBG)
      print_funcs = (print, print_, printDBG)
      return print_funcs