From 6c415915a5980ed8f750a6d73d243b2a4842adf2 Mon Sep 17 00:00:00 2001 From: MaZderMind Date: Thu, 26 Nov 2015 17:15:19 +0100 Subject: color warnings and errors differently, fixes #24 --- voctogui/lib/loghandler.py | 35 +++++++++++++++++++++++++++++++++++ 1 file changed, 35 insertions(+) create mode 100644 voctogui/lib/loghandler.py (limited to 'voctogui/lib') diff --git a/voctogui/lib/loghandler.py b/voctogui/lib/loghandler.py new file mode 100644 index 0000000..4e48c7d --- /dev/null +++ b/voctogui/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)) -- cgit v1.2.3