| import logging |
|
|
| class LogSystem(object): |
| handlerList = [] |
| showOnCmd = True |
| loggingLevel = logging.INFO |
| loggingFile = None |
| def __init__(self): |
| self.logger = logging.getLogger('itchat') |
| self.logger.addHandler(logging.NullHandler()) |
| self.logger.setLevel(self.loggingLevel) |
| self.cmdHandler = logging.StreamHandler() |
| self.fileHandler = None |
| self.logger.addHandler(self.cmdHandler) |
| def set_logging(self, showOnCmd=True, loggingFile=None, |
| loggingLevel=logging.INFO): |
| if showOnCmd != self.showOnCmd: |
| if showOnCmd: |
| self.logger.addHandler(self.cmdHandler) |
| else: |
| self.logger.removeHandler(self.cmdHandler) |
| self.showOnCmd = showOnCmd |
| if loggingFile != self.loggingFile: |
| if self.loggingFile is not None: |
| self.logger.removeHandler(self.fileHandler) |
| self.fileHandler.close() |
| if loggingFile is not None: |
| self.fileHandler = logging.FileHandler(loggingFile) |
| self.logger.addHandler(self.fileHandler) |
| self.loggingFile = loggingFile |
| if loggingLevel != self.loggingLevel: |
| self.logger.setLevel(loggingLevel) |
| self.loggingLevel = loggingLevel |
|
|
| ls = LogSystem() |
| set_logging = ls.set_logging |
|
|