code: def logger_multi(
          loggerName="",  # top
          level_consol=logging.DEBUG,
          level_file=logging.DEBUG,
          filename=None,
          verbose=1,
          when='midnight',
          interval=1,
          backupCount=7):
      
      logger = logging.getLogger(loggerName)
      logger.setLevel(min(level_consol if level_consol else 100, level_file if level_file else 100))
      # logger.disable_existing_loggers = False
      if level_file:
          if filename is None:
              filename = "~\py.log"
          formatter = logging.Formatter(logging_format(verbose, 'str'))
          formatter.converter = time.gmtime
          hf = handlers.TimedRotatingFileHandler(
              filename, when=when, interval=interval,
              backupCount=backupCount, encoding='utf-8', delay=False, utc=True)
          hf.setFormatter(formatter)
          hf.setLevel(level_file)
          logger.addHandler(hf)
      if level_consol:
          logger.addHandler(LoggingColorHandler(level=level_consol, verbose=verbose))
      return logger
docs: a logger that logs to file as well as as screen
      see http://pythonhosted.org//logutils/ http://plumberjack.blogspot.gr/2010/10/supporting-alternative-formatting.html
  
      :Todo:
        - use new style formating for python > v3 i.e formatter = logging.Formatter(frmt.replace(" ", ""), style='{')
          #frmtC = frmt.translate(dict((ord(c), '') for c in "'{},"))
  
      :Parameters: `see <https://docs.python.org/2/library/logging.html#module-logging>`_
      :Example:
          >>> LOG = logger_double('', level_consol=logging.DEBUG, level_file=logging.DEBUG, verbose=3, filename="~\f.log")