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