import logging import sys from datetime import datetime class TimestampFormatter(logging.Formatter): """Custom formatter that matches the existing timestamp format used in print statements.""" def format(self, record): # Create timestamp in the same format as existing print statements timestamp = datetime.now().strftime('%Y-%m-%d %H:%M:%S') # Format the message with timestamp prefix if record.levelno == logging.WARNING: return f"WARNING: {record.getMessage()}" elif record.levelno == logging.ERROR: return f"Error {record.getMessage()}" else: return f"[{timestamp}] {record.getMessage()}" def setup_logger(name="tcid", level=logging.INFO): """Set up logger with custom timestamp formatting to match existing print format.""" logger = logging.getLogger(name) # Avoid adding multiple handlers if logger already exists if logger.handlers: return logger logger.setLevel(level) # Create console handler handler = logging.StreamHandler(sys.stdout) handler.setLevel(level) # Set custom formatter formatter = TimestampFormatter() handler.setFormatter(formatter) logger.addHandler(handler) return logger # Create default logger instance logger = setup_logger() def generate_underlined_line(text: str) -> str: return text + "\n" + "─" * len(text) # Shared color scheme across all visualization modules COLORS = { 'passed': '#4CAF50', 'failed': '#E53E3E', 'skipped': '#FFD54F', 'error': '#8B0000', 'empty': '#5B5B5B', 'amd': '#ED1C24', 'nvidia': '#76B900' }