diff options
Diffstat (limited to 'voctocore/lib')
-rw-r--r-- | voctocore/lib/loghandler.py | 35 |
1 files changed, 35 insertions, 0 deletions
diff --git a/voctocore/lib/loghandler.py b/voctocore/lib/loghandler.py new file mode 100644 index 0000000..4e48c7d --- /dev/null +++ b/voctocore/lib/loghandler.py @@ -0,0 +1,35 @@ +#!/usr/bin/python3 +import logging + +class LogFormatter(logging.Formatter): + def __init__(self, docolor): + super().__init__() + self.docolor = docolor + + 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' + + return fmt % record.__dict__ + + +class LogHandler(logging.StreamHandler): + def __init__(self, docolor): + super().__init__() + self.setFormatter(LogFormatter(docolor)) |