from datetime import datetime import config class Logger: def __init__(self, logLevelName, logFile): self.logLevels = {'DEBUG': 10, 'INFO': 20, 'ERROR': 30, 'CRITICAL': 40} self.logLevel = self.logLevels[logLevelName] self.logFile = logFile def debug(self, message): if self.logLevel >= self.logLevels['DEBUG']: self.__log(f"{datetime.now().strftime('%Y-%m-%d %H:%M:%S')} DEBUG {message}") def info(self, message): if self.logLevel >= self.logLevels['INFO']: self.__log(f"{datetime.now().strftime('%Y-%m-%d %H:%M:%S')} INFO {message}") def error(self, message): if self.logLevel >= self.logLevels['ERROR']: self.__log(f"{datetime.now().strftime('%Y-%m-%d %H:%M:%S')} ERROR {message}") def critical(self, message): if self.logLevel >= self.logLevels['CRITICAL']: self.__log(f"{datetime.now().strftime('%Y-%m-%d %H:%M:%S')} ** CRITICAL ** {message}") def __log(self, message): message = message.strip() print(message) if config.logFile: with open(config.logFile,"a") as fh: fh.write(message + "\n")