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))