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