You can not select more than 25 topics
			Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
		
		
		
		
		
			
		
			
				
					
					
						
							31 lines
						
					
					
						
							879 B
						
					
					
				
			
		
		
	
	
							31 lines
						
					
					
						
							879 B
						
					
					
				import logging
 | 
						|
import colorlog
 | 
						|
 | 
						|
__all__ = ["get_logger"]
 | 
						|
 | 
						|
def get_logger(name: str = "trainer") -> logging.Logger:
 | 
						|
    """
 | 
						|
    Creates and configures a logger with colored level names.
 | 
						|
    INFO is light blue, DEBUG is green. Message text remains white.
 | 
						|
    """
 | 
						|
    logger = logging.getLogger(name)
 | 
						|
    logger.setLevel(logging.DEBUG)
 | 
						|
 | 
						|
    if not logger.handlers:
 | 
						|
        handler = colorlog.StreamHandler()
 | 
						|
        formatter = colorlog.ColoredFormatter(
 | 
						|
            fmt="%(log_color)s[%(levelname)s]%(reset)s %(message)s",
 | 
						|
            log_colors={
 | 
						|
                "DEBUG":    "green",
 | 
						|
                "INFO":     "light_blue",
 | 
						|
                "WARNING":  "yellow",
 | 
						|
                "ERROR":    "red",
 | 
						|
                "CRITICAL": "bold_red",
 | 
						|
            },
 | 
						|
            style="%"
 | 
						|
        )
 | 
						|
        handler.setFormatter(formatter)
 | 
						|
        logger.addHandler(handler)
 | 
						|
 | 
						|
    return logger
 |