From dbaca83cdb03a41ce8266a1d0925545b02494204 Mon Sep 17 00:00:00 2001 From: Amandine PERRIN <amandine.perrin@pasteur.fr> Date: Thu, 29 Aug 2019 14:43:20 +0200 Subject: [PATCH] Add colors to logs in stdout/stderr --- PanACoTA/utils.py | 20 ++++++++++++++++---- requirements.txt | 1 + 2 files changed, 17 insertions(+), 4 deletions(-) diff --git a/PanACoTA/utils.py b/PanACoTA/utils.py index d4f45c6f..d1710686 100755 --- a/PanACoTA/utils.py +++ b/PanACoTA/utils.py @@ -13,13 +13,15 @@ import os import sys import re import glob -import logging -from logging.handlers import RotatingFileHandler import subprocess import shutil import shlex import progressbar -from termcolor import colored + +# Logging +import logging +from logging.handlers import RotatingFileHandler +from colorlog import ColoredFormatter try: import cPickle as pickle @@ -107,7 +109,17 @@ def init_logger(logfile_base, level, name, details=False, verbose=0, quiet=False # my_format = '[%(asctime)s] :: from %(name)s %(levelname)s :: %(message)s' my_format = '[%(asctime)s] :: %(levelname)s :: %(message)s' formatter_file = logging.Formatter(my_format, '%Y-%m-%d %H:%M:%S') - formatter_stream = logging.Formatter(' * [%(asctime)s] %(message)s', '%Y-%m-%d %H:%M:%S') + my_format_stream = '%(log_color)s * [%(asctime)s] : %(levelname)s %(reset)s %(message)s' + formatter_stream = ColoredFormatter(my_format_stream, datefmt='%Y-%m-%d %H:%M:%S', + log_colors={'DEBUG' : 'cyan', + 'INFO' : 'green', + 'DETAIL' : 'cyan', + 'WARNING' : 'yellow', + 'ERROR' : 'red', + 'CRITICAL' : 'red', + }) + + # Create handler 1: writing to 'logfile'. mode 'write', max size = 1Mo. # If logfile is 1Mo, it is renamed to logfile.1, and next logs are still diff --git a/requirements.txt b/requirements.txt index e73ebedd..cab4b477 100755 --- a/requirements.txt +++ b/requirements.txt @@ -1,5 +1,6 @@ argparse termcolor +colorlog progressbar2 >= 3.18.0 ncbi_genome_download numpy>=1.11 -- GitLab