def METHOD_NAME(self, record: logging.LogRecord):
    name: str = record.name
    level: str = record.levelname
    message: str = record.getMessage()
    name_len: int = len(name)
    lvl_len: int = len(level)
    if self._should_color:
        # Color level
        if record.levelno >= logging.CRITICAL:
            level = color(Color.red, True) + level + clear
            level = color(BackgroundColor.yellow, False) + level + clear
        elif record.levelno >= logging.ERROR:
            level = color(Color.red, False) + level + clear
        elif record.levelno >= logging.WARNING:
            level = color(Color.yellow, False) + level + clear
        elif record.levelno >= logging.INFO:
            level = color(Color.blue, False) + level + clear
        # Color text
        c: int = zlib.adler32(record.name.encode()) % 7
        if c != 0:  # Do not color black or white, allow 'uncolored'
            col = Color(c + Color.black.value)
            message = color(col, False) + message + clear
            name = color(col, False) + name + clear
    # Finalize log message
    name = name.ljust(14 + len(name) - name_len)
    level = level.ljust(8 + len(level) - lvl_len)
    body: str = f"{level} | {self.formatTime(record, self.datefmt) : <23} | {name} | {message}"
    if record.exc_info:
        body += "\n" + "".join(traceback.format_exception(*record.exc_info))[:-1]
    return body