Source code for mrparse.mr_log

from enum import Enum
import json
import logging
import logging.config
import os

[docs]class LogColors(Enum): """Color container for log messages""" CRITICAL = 31 DEBUG = 34 DEFAULT = 0 ERROR = 31 WARNING = 33
[docs]class LogColorFormatter(logging.Formatter): """Formatter for log messages"""
[docs] def format(self, record): if record.levelname in LogColors.__members__: prefix = '\033[1;{}m'.format(LogColors[record.levelname].value) postfix = '\033[{}m'.format(LogColors["DEFAULT"].value) record.msg = os.linesep.join([prefix + msg + postfix for msg in str(record.msg).splitlines()]) return logging.Formatter.format(self, record)
[docs]def setup_logging(): THIS_DIR = os.path.abspath(os.path.dirname(__file__)) logging_json = os.path.join(THIS_DIR, 'logging.json') with open(logging_json, 'rt') as f: config = json.load(f) logging.config.dictConfig(config) return logging.getLogger()