Source code for flint.logging
from __future__ import annotations
import logging
# Create logger
logging.captureWarnings(True)
logger.setLevel(logging.INFO)
# Create console handler and set level to debug
ch.setLevel(logging.DEBUG)
[docs]
class CustomFormatter(logging.Formatter):
"""A custom logger formatter"""
[docs]
FORMATS = {
logging.DEBUG: f"{blue}%(levelname)s{reset} {format_str}",
logging.INFO: f"{green}%(levelname)s{reset} {format_str}",
logging.WARNING: f"{yellow}%(levelname)s{reset} {format_str}",
logging.ERROR: f"{red}%(levelname)s{reset} {format_str}",
logging.CRITICAL: f"{bold_red}%(levelname)s{reset} {format_str}",
}
[docs]
def format(self, record):
log_fmt = self.FORMATS.get(record.levelno)
formatter = logging.Formatter(log_fmt, "%Y-%m-%d %H:%M:%S")
return formatter.format(record)
# Add formatter to ch
ch.setFormatter(CustomFormatter())
# Add ch to logger
logger.addHandler(ch)