diff options
Diffstat (limited to 'voctogui/lib/loghandler.py')
-rw-r--r-- | voctogui/lib/loghandler.py | 86 |
1 files changed, 51 insertions, 35 deletions
diff --git a/voctogui/lib/loghandler.py b/voctogui/lib/loghandler.py index 2cc7ceb..6efb890 100644 --- a/voctogui/lib/loghandler.py +++ b/voctogui/lib/loghandler.py @@ -1,41 +1,57 @@ -import logging, time +import logging +import time -class LogFormatter(logging.Formatter): - def __init__(self, docolor, timestamps=False): - super().__init__() - self.docolor = docolor - self.timestamps = timestamps - - def formatMessage(self, record): - if self.docolor: - c_lvl = 33 - c_mod = 32 - c_msg = 0 - - if record.levelno == logging.WARNING: - c_lvl = 31 - #c_mod = 33 - c_msg = 33 - - elif record.levelno > logging.WARNING: - c_lvl = 31 - c_mod = 31 - c_msg = 31 - fmt = '\x1b['+str(c_lvl)+'m%(levelname)8s\x1b[0m \x1b['+str(c_mod)+'m%(name)s\x1b['+str(c_msg)+'m: %(message)s\x1b[0m' - else: - fmt = '%(levelname)8s %(name)s: %(message)s' - - if self.timestamps: - fmt = '%(asctime)s '+fmt - - if not 'asctime' in record.__dict__: - record.__dict__['asctime']=time.strftime("%Y-%m-%d %H:%M:%S",time.localtime(record.__dict__['created'])) +class LogFormatter(logging.Formatter): - return fmt % record.__dict__ + def __init__(self, docolor, timestamps=False): + super().__init__() + self.docolor = docolor + self.timestamps = timestamps + + def formatMessage(self, record): + if self.docolor: + c_lvl = 33 + c_mod = 32 + c_msg = 0 + + if record.levelno == logging.WARNING: + c_lvl = 31 + # c_mod = 33 + c_msg = 33 + + elif record.levelno > logging.WARNING: + c_lvl = 31 + c_mod = 31 + c_msg = 31 + + fmt = ''.join([ + '\x1b[%dm' % c_lvl, # set levelname color + '%(levelname)8s', # print levelname + '\x1b[0m', # reset formatting + '\x1b[%dm' % c_mod, # set name color + ' %(name)s', # print name + '\x1b[%dm' % c_msg, # set message color + ': %(message)s', # print message + '\x1b[0m' # reset formatting + ]) + else: + fmt = '%(levelname)8s %(name)s: %(message)s' + + if self.timestamps: + fmt = '%(asctime)s ' + fmt + + if 'asctime' not in record.__dict__: + record.__dict__['asctime'] = time.strftime( + "%Y-%m-%d %H:%M:%S", + time.localtime(record.__dict__['created']) + ) + + return fmt % record.__dict__ class LogHandler(logging.StreamHandler): - def __init__(self, docolor, timestamps): - super().__init__() - self.setFormatter(LogFormatter(docolor,timestamps)) + + def __init__(self, docolor, timestamps): + super().__init__() + self.setFormatter(LogFormatter(docolor, timestamps)) |