From 08839e144cb77f7f6e7193867ab66c59775b0b8b Mon Sep 17 00:00:00 2001 From: Walter Purcaro Date: Thu, 14 Nov 2013 02:11:57 +0100 Subject: Coloured logging --- pyload/Core.py | 14 +++++++++++++- 1 file changed, 13 insertions(+), 1 deletion(-) (limited to 'pyload/Core.py') diff --git a/pyload/Core.py b/pyload/Core.py index 324494500..96421d862 100644 --- a/pyload/Core.py +++ b/pyload/Core.py @@ -59,6 +59,8 @@ from utils.fs import free_space, exists, makedirs, join, chmod from codecs import getwriter +from utils.colorlog import ColoredFormatter + # test runner overwrites sys.stdout if hasattr(sys.stdout, "encoding"): enc = get_console_encoding(sys.stdout.encoding) else: enc = "utf8" @@ -517,7 +519,17 @@ class Core(object): if not tfrm: tfrm = "%Y-%m-%d %H:%M:%S" - frm = logging.Formatter("%(asctime)s %(levelname)-8s %(message)s", tfrm) + frm = ColoredFormatter( + format="%(asctime)s %(log_color)s%(bold)s%(black)s %(levelname)+8s %(reset)s %(message)s", + datefmt=tfrm, + log_colors={ + 'DEBUG': 'bg_cyan', + 'INFO': 'bg_green', + 'WARNING': 'bg_yellow', + 'ERROR': 'bg_red', + 'CRITICAL': 'bg_purple', + } + ) console.setFormatter(frm) self.log = logging.getLogger("log") # setable in config -- cgit v1.2.3 From 3966d263b86f44477762b63123f91ef27fb37677 Mon Sep 17 00:00:00 2001 From: Walter Purcaro Date: Thu, 14 Nov 2013 12:37:09 +0100 Subject: White foreground instead black for the colored log level labels --- pyload/Core.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'pyload/Core.py') diff --git a/pyload/Core.py b/pyload/Core.py index 96421d862..bdf8af35f 100644 --- a/pyload/Core.py +++ b/pyload/Core.py @@ -520,7 +520,7 @@ class Core(object): tfrm = "%Y-%m-%d %H:%M:%S" frm = ColoredFormatter( - format="%(asctime)s %(log_color)s%(bold)s%(black)s %(levelname)+8s %(reset)s %(message)s", + format="%(asctime)s %(log_color)s%(bold)s%(white)s %(levelname)+8s %(reset)s %(message)s", datefmt=tfrm, log_colors={ 'DEBUG': 'bg_cyan', -- cgit v1.2.3 From 73a1a2ff63cd3a2372b8c5c7cb959f51babe9222 Mon Sep 17 00:00:00 2001 From: Walter Purcaro Date: Sat, 16 Nov 2013 21:51:12 +0100 Subject: Fixed logfile color codes (colorize console only) + settable color log type + cleaned pyload init_logger code --- pyload/Core.py | 56 ++++++++++++++++++++++++++++++++++++++------------------ 1 file changed, 38 insertions(+), 18 deletions(-) (limited to 'pyload/Core.py') diff --git a/pyload/Core.py b/pyload/Core.py index bdf8af35f..52e2a4045 100644 --- a/pyload/Core.py +++ b/pyload/Core.py @@ -503,7 +503,7 @@ class Core(object): console = logging.StreamHandler(sys.stdout) # try to get a time formatting depending on system locale - tfrm = None + datefmt = None try: # change current locale to default if it is not set current_locale = locale.getlocale() if current_locale == (None, None): @@ -511,26 +511,45 @@ class Core(object): # We use timeformat provided by locale when available if current_locale != (None, None): - tfrm = locale.nl_langinfo(locale.D_FMT) + " " + locale.nl_langinfo(locale.T_FMT) + datefmt = locale.nl_langinfo(locale.D_FMT) + " " + locale.nl_langinfo(locale.T_FMT) except: # something did go wrong, locale is heavily platform dependant pass # default formatting when no one was obtained (ex.: 2013-10-22 18:27:46) - if not tfrm: - tfrm = "%Y-%m-%d %H:%M:%S" - - frm = ColoredFormatter( - format="%(asctime)s %(log_color)s%(bold)s%(white)s %(levelname)+8s %(reset)s %(message)s", - datefmt=tfrm, - log_colors={ - 'DEBUG': 'bg_cyan', - 'INFO': 'bg_green', - 'WARNING': 'bg_yellow', - 'ERROR': 'bg_red', - 'CRITICAL': 'bg_purple', - } - ) - console.setFormatter(frm) + if not datefmt: + datefmt = "%Y-%m-%d %H:%M:%S" + + # file handler formatter + fhfmt = "%(asctime)s %(levelname)-8s %(message)s" + fh_frm = logging.Formatter(fhfmt, datefmt) + + # console formatter + if self.config['log']['console_color'] == "No": + console_frm = fh_frm + else: + if self.config['log']['console_color'] == "Light": + cfmt = "%(asctime)s %(log_color)s%(bold)s%(white)s %(levelname)+8s %(reset)s %(message)s" + clr = { + 'DEBUG': 'bg_cyan', + 'INFO': 'bg_green', + 'WARNING': 'bg_yellow', + 'ERROR': 'bg_red', + 'CRITICAL': 'bg_purple', + } + elif self.config['log']['console_color'] == "Full": + cfmt = "%(asctime)s %(log_color)s[%(levelname)-8s] %(message)s" + clr = { + 'DEBUG': 'cyan', + 'INFO': 'green', + 'WARNING': 'yellow', + 'ERROR': 'red', + 'CRITICAL': 'purple', + } + console_frm = ColoredFormatter(cfmt, datefmt, clr) + + #: set console formatter + console.setFormatter(console_frm) + self.log = logging.getLogger("log") # setable in config if not exists(self.config['log']['log_folder']): @@ -545,7 +564,8 @@ class Core(object): else: file_handler = logging.FileHandler(join(self.config['log']['log_folder'], 'log.txt'), encoding="utf8") - file_handler.setFormatter(frm) + #: set file handler formatter + file_handler.setFormatter(fh_frm) self.log.addHandler(file_handler) self.log.addHandler(console) #if console logging -- cgit v1.2.3 From 5edf4597efba463d57039d337b3656c8fa5fea78 Mon Sep 17 00:00:00 2001 From: Walter Purcaro Date: Sat, 16 Nov 2013 22:31:35 +0100 Subject: Applied RaNaN advice --- pyload/Core.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'pyload/Core.py') diff --git a/pyload/Core.py b/pyload/Core.py index 52e2a4045..8897764a7 100644 --- a/pyload/Core.py +++ b/pyload/Core.py @@ -59,8 +59,6 @@ from utils.fs import free_space, exists, makedirs, join, chmod from codecs import getwriter -from utils.colorlog import ColoredFormatter - # test runner overwrites sys.stdout if hasattr(sys.stdout, "encoding"): enc = get_console_encoding(sys.stdout.encoding) else: enc = "utf8" @@ -527,6 +525,8 @@ class Core(object): if self.config['log']['console_color'] == "No": console_frm = fh_frm else: + from lib.colorlog import ColoredFormatter + if self.config['log']['console_color'] == "Light": cfmt = "%(asctime)s %(log_color)s%(bold)s%(white)s %(levelname)+8s %(reset)s %(message)s" clr = { -- cgit v1.2.3