mirror of
https://github.com/codex-storage/das-research.git
synced 2025-02-24 08:48:29 +00:00
31 lines
1.1 KiB
Python
31 lines
1.1 KiB
Python
#!/bin/python3
|
|
|
|
import logging
|
|
|
|
class CustomFormatter():
|
|
"""This class defines the terminal output formatting."""
|
|
|
|
def __init__(self):
|
|
"""Initializes 5 different formats for logging with different colors."""
|
|
self.blue = "\x1b[34;20m"
|
|
self.grey = "\x1b[38;20m"
|
|
self.yellow = "\x1b[33;20m"
|
|
self.red = "\x1b[31;20m"
|
|
self.bold_red = "\x1b[31;1m"
|
|
self.reset = "\x1b[0m"
|
|
self.reformat = "%(levelname)s : %(entity)s : %(message)s"
|
|
self.FORMATS = {
|
|
logging.DEBUG: self.grey + self.reformat + self.reset,
|
|
logging.INFO: self.blue + self.reformat + self.reset,
|
|
logging.WARNING: self.yellow + self.reformat + self.reset,
|
|
logging.ERROR: self.red + self.reformat + self.reset,
|
|
logging.CRITICAL: self.bold_red + self.reformat + self.reset
|
|
}
|
|
|
|
def format(self, record):
|
|
"""Returns the formatter with the format corresponding to record."""
|
|
log_fmt = self.FORMATS.get(record.levelno)
|
|
formatter = logging.Formatter(log_fmt)
|
|
return formatter.format(record)
|
|
|