import logging class LoggerSingleton: _logger = None @staticmethod def get_logger(): if LoggerSingleton._logger is None: LoggerSingleton._logger = logging.getLogger(__name__) LoggerSingleton._logger.setLevel(logging.INFO) formatter = logging.Formatter( "%(asctime)s - %(name)s - %(levelname)s - %(message)s", datefmt="%Y-%m-%d %H:%M:%S" ) console_handler = logging.StreamHandler() console_handler.setFormatter(formatter) file_handler = logging.FileHandler('tempora.log', encoding='utf-8') file_handler.setFormatter(formatter) LoggerSingleton._logger.addHandler(console_handler) LoggerSingleton._logger.addHandler(file_handler) return LoggerSingleton._logger