human
Here's a good function header given the following:
I wrote the below code

    class SimpleFormatter(logging.Formatter, ):
        def __init__(self, with_time, with_thread):
            self.fmt = (((((((u'%(asctime)s    ' if with_time else u'') + u'%(levelname)-8s    ') + u'[%(name)s:%(funcName)s') + (u':%(lineno)s' if with_lineno else u'')) + u']') + (u'[%(threadName)s]' if with_thread else u'')) + u'    --    %(message)s')
            logging.Formatter.__init__(self, self.fmt)
    class ColoredFormatter(logging.Formatter, ):
        def __init__(self, with_time, with_thread):
            self.fmt = (((((((((u'%(asctime)s    ' if with_time else u'') + u'-CC-%(levelname)-8s    ') + BLUE_FONT) + u'[%(name)s:%(funcName)s') + (u':%(lineno)s' if with_lineno else u'')) + u']') + RESET_FONT) + (u'[%(threadName)s]' if with_thread else u'')) + u'    --    %(message)s')
            logging.Formatter.__init__(self, self.fmt)
        def format(self, record):
            modpath = record.name.split(u'.')
            record.mname = modpath[0]
            record.mmodule = u'.'.join(modpath[1:])
            result = logging.Formatter.format(self, record)
            if (record.levelno == logging.DEBUG):
                color = BLUE_FONT
            elif (record.levelno == logging.INFO):
                color = GREEN_FONT
            elif (record.levelno == logging.WARNING):
                color = YELLOW_FONT
            else:
                color = RED_FONT
            result = result.replace(u'-CC-', color)
            return result
    if (filename is not None):
        logdir = os.path.dirname(filename)
        if (not os.path.exists(logdir)):
            os.makedirs(logdir)
        ch = logging.FileHandler(filename, mode=u'w')
        ch.setFormatter(SimpleFormatter(with_time, with_thread))
    else:
        ch = logging.StreamHandler()
        if (colored and (sys.platform != u'win32')):
            ch.setFormatter(ColoredFormatter(with_time, with_thread))
        else:
            ch.setFormatter(SimpleFormatter(with_time, with_thread))
    logging.getLogger().addHandler(ch)

What's a good function header?
assistant
#Here's a good function header.

def setupLogging(colored=True, with_time=False, with_thread=False, filename=None, with_lineno=False):