import logging from xmlrpc.client import boolean ############################################################################################################################## #Function to create a simple logger that logs messages to a file and optionally prints them to the console. #If logger_name = "", then the root logger will be used. If you want to create a custom logger, provide a name for it. ############################################################################################################################## def simple_logger(log_relative_path = str, printToConsole = boolean, logger_name = ""): logger = logging.getLogger(logger_name) logger.setLevel(logging.INFO) formatter = logging.Formatter(fmt="%(asctime)s [%(levelname)s] %(message)s", datefmt="%Y-%m-%d %H:%M:%S") file_handler = logging.FileHandler(log_relative_path) file_handler.setFormatter(formatter) file_handler.setLevel(logging.INFO) logger.addHandler(file_handler) if printToConsole: console_handler = logging.StreamHandler() console_handler.setFormatter(formatter) console_handler.setLevel(logging.INFO) logger.addHandler(console_handler) return logger