def addHandler(self, logger):
        mode = pymel.confirmBox("Logging","Handler Type:", "File", "Script Editor", "Console", "Log Server", "Cancel")
        if mode=="Cancel":
            return
        elif mode=="File":
            f = pymel.fileDialog(mode=1, dm="Log File: *.log")
            if not f:
                return
            handler = logging.FileHandler(f)
        elif mode=="Script Editor":
            handler = logging.StreamHandler()
        elif mode=="Console":
            handler = logging.StreamHandler(sys.__stderr__)
        elif mode=="Log Server":
            from logServer import SocketHandler, kHostName
            server = pymel.promptBox("Logging","Log Server Address:", "Connect", "Cancel", tx="%s:%s" % (kHostName, logging.handlers.DEFAULT_TCP_LOGGING_PORT))
            host, sep, port = server.partition(":")
            handler = SocketHandler(host, int(port))

        level = pymel.confirmBox("Logging","Log Level:", *logLevelNames)
        if not level:
            return
        handler.setLevel(levelsDict[level])
        handler.setFormatter(logging.Formatter(logging.BASIC_FORMAT))
        logger.addHandler(handler)
        logger.info("Added %s-Handler to Logger '%s' at level %s" % (mode, logger.name, level))
 def setFormatter(self, handler):
     tips = """
     name, levelno, levelname, pathname, filename, module, lineno, funcName, created,
     asctime, msecs, relativeCreated, thread, threadName, process, message
     """
     fmt = pymel.promptBox("Logging","Set Format:\n" + tips, "Set", "Cancel", tx=logging.BASIC_FORMAT)
     if fmt:
         handler.setFormatter(logging.Formatter(fmt))