import logging ''' 日志记录方案暂时使用logger来实现--2024-5-25-zl ''' class MyLogger: _loggers = {} def __new__(cls, name='my_logger', level=logging.DEBUG): if name not in cls._loggers: cls._loggers[name] = super().__new__(cls) return cls._loggers[name] def __init__(self, name='my_logger', level=logging.DEBUG): #logging.INFO if not hasattr(self,'logger'): self.logger = logging.getLogger(name) self.logger.setLevel(level) # 创建一个handler,用于写入日志文件 file_handler = logging.FileHandler('../log/my_app.log') file_handler.setLevel(logging.info) formatter = logging.Formatter('%(asctime)s - %(name)s - %(levelname)s - %(message)s') console_handler = logging.StreamHandler() console_handler.setFormatter(formatter) self.logger.addHandler(console_handler) def info(self, message): self.logger.info(message) def error(self, message): self.logger.error(message) def warning(self, message): self.logger.warning(message) def debug(self, message): self.logger.debug(message) # 使用示例 if __name__ == "__main__": logger = MyLogger() logger.info("This is an info message") logger.error("This is an error message")