|
- 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: # clear old fileHandler
- self.logger.removeHandler(self.fileHandler)
- self.fileHandler.close()
- if loggingFile is not None: # add new fileHandler
- 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
|