Source code for utils.utils

import logging as log


[docs] def setup_logging(filename: str, log_level: str): """ Set up logging configuration. Parameters ---------- filename : str The name of the file to which logs will be written. log_level : str The desired logging level, one of {'DEBUG', 'INFO', 'WARNING', 'ERROR', 'CRITICAL'}. Returns ------- None Notes ----- The function configures the logging module to write logs to the specified file with the given level. If the provided log level is not recognized, it defaults to 'INFO'. """ # Define log level mapping level_mapping = { 'DEBUG': log.DEBUG, 'INFO': log.INFO, 'WARNING': log.WARNING, 'ERROR': log.ERROR, 'CRITICAL': log.CRITICAL, } # Get the log level level = level_mapping.get(log_level.upper(), log.INFO) # Set up the formatter formatter = log.Formatter('%(asctime)s - %(levelname)s - %(message)s') # Set up logging to file file_handler = log.FileHandler(filename) file_handler.setLevel(level) file_handler.setFormatter(formatter) log.getLogger().addHandler(file_handler) # Set up logging to console console_handler = log.StreamHandler() console_handler.setLevel(level) console_handler.setFormatter(formatter) log.getLogger().addHandler(console_handler) # Set the overall logging level log.getLogger().setLevel(level)
[docs] class colors: PURPLE = '\033[95m' CYAN = '\033[96m' DARKCYAN = '\033[36m' BLUE = '\033[94m' GREEN = '\033[92m' YELLOW = '\033[93m' RED = '\033[91m' BOLD = '\033[1m' UNDERLINE = '\033[4m' END = '\033[0m'